2017-07-20 25 views
0

問題軸斷裂,一邊沒有數據繪圖? (接近零)

我有一個線圖,其中數據值遠遠高於零。該圖還具有分別對應於實線和虛線的兩個單獨的y軸。我已經注意到了y軸標籤中的數據值,但是我的導師認爲我也應該在零點之上添加一個軸斷點,以引起人們注意這些值遠遠高於零的事實,並且顯示出,比如堅實的CTRL不是固體MFKC的兩倍。

我查了一下matplotlib軸斷點的例子,但是我所看到的所有例子都涉及跨越圖的兩個「邊」的數據,每個半邊都使用單獨的軸。我沒有任何數據要在中斷下繪製,而向已有兩個繪圖的繪圖添加更多的軸可能會不必要地複雜。

代碼

#Plot 
x= np.arange(0,3) 
fig,ax = plt.subplots(figsize=(6,6)) 

#DOD 
dod1 = ax.plot(x, ctrl_dod, color='r',  label='CTRL' ) 
dod2 = ax.plot(x, mfkc_dod, color='orange', label='MFKC' ) 
dod3 = ax.plot(x, gses_dod, color='green', label='GSES' ) 
dod4 = ax.plot(x, gses3_dod, color='blue', label='GSES-3') 
dod5 = ax.plot(x, gses4_dod, color='purple', label='GSES-4') 
ax.yaxis.grid(True, linestyle='-') 
ax.xaxis.grid(True) 
ax.set_xlabel('Month') 
ax.set_ylabel('Dust Optical Depth') 
ax.legend() 
ax.set_title('Global Mean DOD and DCM') 

#DCM 
ax2 = ax.twinx() 
dcm1 = ax2.plot(x, ctrl_dcm*1e6, color='r',  linestyle='--') 
dcm2 = ax2.plot(x, mfkc_dcm*1e6, color='#e68a00', linestyle='--') 
dcm3 = ax2.plot(x, gses_dcm*1e6, color='green', linestyle='--') 
dcm4 = ax2.plot(x, gses3_dcm*1e6, color='blue', linestyle='--') 
dcm5 = ax2.plot(x, gses4_dcm*1e6, color='purple', linestyle='--') 
ax2.yaxis.grid(True) 
ax2.xaxis.grid(True) 
ax2.set_xlabel('Month') 
ax2.set_ylabel('Dust Column Mass (mg m-2)') 
#Limits 
axes = plt.gca() 
axes.set_xlim([-0.25,2.25]) 

#Labels 
axes.set_xticks(x) 
axes.set_xticklabels(['June','July','August']) 

#Save 
pylab.savefig('dod+dcm.png') 

enter image description here

問題

如果我改變我的y軸的範圍既從零開始,我怎麼可以再補充一個換行符兩邊都高於零(且低於0.020和40)?

回答

0

創建一個numpy數組,其所有值爲0.020,形狀與時間數組相同。繪製該陣列的時間並打開點連接(即繪製趨勢線)。你可以對40進行相同的操作。然後只需將y下限設置爲零。

+1

我不認爲我明白這是如何工作的。你能提供一個簡單的例子嗎? – ChristineB