2017-02-09 169 views
0

我密謀與imshow一個顏色表,但我不能讓身材水平拉伸!拉伸imshow X軸

代碼:

ylabels = ['0:00', '03:00', '06:00', '09:00', '12:00', '15:00', '18:00', '21:00'] 

fig, ax = plt.subplots(figsize=(27, 7)) 

cax1 = ax.imshow(df7, origin='lower', cmap='viridis', interpolation='none', aspect=4) 
ax.set_xticklabels(label, fontsize = 12) 
plt.xticks(np.arange(len(df7.columns))) 

major_ticks = np.arange(0, 24, 3) 
ax.set_yticks(major_ticks) 
ax.set_yticklabels(ylabels, fontsize = 12) 


plt.rcParams['xtick.labelsize'] = 12 
plt.rcParams['ytick.labelsize'] = 12 
fig.autofmt_xdate() 



plt.colorbar(cax1,fraction=0.046, pad=0.04) 




fig.suptitle('November 2016 Normalized Pressure Data $[mbar]$',fontsize=15) 
fig.tight_layout(pad = 1) 

plt.show() 

fig.savefig('Pressure.png', dpi=300) 

我已經打過電話imshow時使用 「縱橫」,但仍是結果是方形像素:

enter image description here

我怎麼能伸展X軸填補整個數字的大小?

謝謝!

編輯:

我試過aspect='auto'aspect=0.25但還是同樣的結果!

EDIT#2:

我除去ax.set_aspect(0.5)tight_layout重複,但還是圖中沒有填入到圖象尺寸

回答

0

關鍵字參數aspect設置圖像的縱橫的整個空間。從the documentation

方面:「自動」 | '平等'|標量],可選,默認值:無
如果'自動',則更改圖像寬高比以匹配軸的圖像寬高比。
如果'等於',且範圍爲無,則更改軸寬高比以匹配圖像的寬高比。如果範圍不是無,則軸縱橫比將更改爲與範圍相匹配。
如果,默認的rc image.aspect值。

這樣的想法是使用aspect='auto',而不是aspect=4

可以當然也可以使用一個數字值手動設置的方面。然而,對於X方向上的strech,該方面需要小於1,即aspect=0.25

+0

我也試過了(aspect ='auto'和aspect = 0.25),但它似乎不起作用: ( – ValientProcess

+0

「這似乎不工作」是不足夠的問題說明。如果你談論你的代碼的問題,那麼你當然會需要刪除行'ax.set_aspect(0.5)',使用同樣的論點在imshow或刪除imshow參數,只使用'ax.set_aspect'。使用的每一個命令只有一次可以更容易地調試代碼,所以有'在那裏tight_layout'兩次大概也就不是一個好主意。 – ImportanceOfBeingErnest

+0

也許你需要更好地解釋你實際所說的「不填充圖片大小的整個空間」。 – ImportanceOfBeingErnest