主要問題
1.介紹
如題,畫雙軸子圖不能顯示 x-軸坐標軸標簽,似乎 “雙軸”與“子圖”存在沖突有關,當前版本是 anaconda 3.7.4。比較奇葩的是 我家里的電腦,3.7.3 卻沒這個問題。但我把公司電腦換成 3.7.3 問題依舊,崩潰。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import pandas as pd import matplotlib.pyplot as plt a = pd.date_range( '2020-07-01' , '2020-07-20' ) b = [ 2 , 3 , 4 , 5 , 7 , 9 , 20 , 20 , 11 , 13 , 1 , 2 , 3 , 9 , 23 , 2 , 6 , 7 , 7 , 7 ] c = [ 0.20 , 0.1 , 0.13 , 0.1 , 0.2 , 0.3 , 0.9 , 0.23 , 0.2 , 0.6 , 0.7 , 0.7 , 0.7 , 0.2 , 0.3 , 0.4 , 0.5 , 0.7 , 0.9 , 0.2 ] data = pd.DataFrame({ 'a' :a, 'b' :b, 'c' :c}) data = data.groupby([ 'a' ])[ 'b' , 'c' ]. sum () nrow = 2 ncol = 1 fig = plt.figure(figsize = (ncol * 10 ,nrow * 4 )) ax_1 = plt.subplot2grid((nrow, ncol), ( 0 , 0 ), colspan = 1 , rowspan = 1 ,facecolor = 'black' ) ax_2 = plt.subplot2grid((nrow, ncol), ( 1 , 0 ), colspan = 1 , rowspan = 1 ,facecolor = 'black' ) data[ 'b' ].plot(ax = ax_1,color = 'r' ) data[ 'c' ].plot(ax = ax_1.twinx(),color = 'y' ) |
2.只畫雙軸,正常顯示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import pandas as pd import matplotlib.pyplot as plt a = pd.date_range( '2020-07-01' , '2020-07-20' ) b = [ 2 , 3 , 4 , 5 , 7 , 9 , 20 , 20 , 11 , 13 , 1 , 2 , 3 , 9 , 23 , 2 , 6 , 7 , 7 , 7 ] c = [ 0.20 , 0.1 , 0.13 , 0.1 , 0.2 , 0.3 , 0.9 , 0.23 , 0.2 , 0.6 , 0.7 , 0.7 , 0.7 , 0.2 , 0.3 , 0.4 , 0.5 , 0.7 , 0.9 , 0.2 ] data = pd.DataFrame({ 'a' :a, 'b' :b, 'c' :c}) data = data.groupby([ 'a' ])[ 'b' , 'c' ]. sum () nrow = 1 ncol = 1 fig = plt.figure(figsize = (ncol * 10 ,nrow * 4 )) ax_1 = plt.subplot2grid((nrow, ncol), ( 0 , 0 ), colspan = 1 , rowspan = 1 ,facecolor = 'black' ) # ax_2 = plt.subplot2grid((nrow, ncol), (1, 0), colspan=1, rowspan=1,facecolor = 'black') data[ 'b' ].plot(ax = ax_1,color = 'r' ) data[ 'c' ].plot(ax = ax_1.twinx(),color = 'y' ) |
3.只畫子圖,也能正常顯示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import pandas as pd import matplotlib.pyplot as plt a = pd.date_range( '2020-07-01' , '2020-07-20' ) b = [ 2 , 3 , 4 , 5 , 7 , 9 , 20 , 20 , 11 , 13 , 1 , 2 , 3 , 9 , 23 , 2 , 6 , 7 , 7 , 7 ] c = [ 0.20 , 0.1 , 0.13 , 0.1 , 0.2 , 0.3 , 0.9 , 0.23 , 0.2 , 0.6 , 0.7 , 0.7 , 0.7 , 0.2 , 0.3 , 0.4 , 0.5 , 0.7 , 0.9 , 0.2 ] data = pd.DataFrame({ 'a' :a, 'b' :b, 'c' :c}) data = data.groupby([ 'a' ])[ 'b' , 'c' ]. sum () nrow = 2 ncol = 1 fig = plt.figure(figsize = (ncol * 10 ,nrow * 4 )) ax_1 = plt.subplot2grid((nrow, ncol), ( 0 , 0 ), colspan = 1 , rowspan = 1 ,facecolor = 'black' ) ax_2 = plt.subplot2grid((nrow, ncol), ( 1 , 0 ), colspan = 1 , rowspan = 1 ,facecolor = 'black' ) data[ 'b' ].plot(ax = ax_1,color = 'r' ) data[ 'c' ].plot(ax = ax_2,color = 'y' ) |
到此這篇關于matplotlib 畫雙軸子圖無法顯示x軸的解決方法的文章就介紹到這了,更多相關matplotlib 雙軸子無法顯示x軸內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/swustxxl/article/details/107594143