2015-04-22 63 views
2

我正在繪製一個陰謀與2 ylabels使用ipython筆記本電腦和圖像看起來不錯,當在筆記本電腦內可視化。從ipython筆記本電腦保存圖產生一個切割圖像

這是我如何做到這一點:

import matplotlib.pyplot as plt 

fig, ax1 = plt.subplots() 
plt.title('TITLE') 
plt.xlabel('X') 

plt.plot(x, y1, '-', color='blue', label='SNR') 
ax1.set_ylabel('y1', color='blue') 
for tl in ax1.get_yticklabels(): 
    tl.set_color('blue') 

ax2 = ax1.twinx() 
plt.plot(x, y2, '--', color='red', label='Ngal') 
ax2.set_ylabel('y2', color='red') 
for tl in ax2.get_yticklabels(): 
    tl.set_color('red') 

的問題是,當我嘗試將其與命令

plt.savefig('output.png', dpi=300) 

保存,因爲輸出將被切割的圖像右側:如果正確的數字很大,基本上我沒有看到正確的ylabel。

+0

試試在'savefig'命令之前的'fig.tight_layout()' – plonser

回答

2

默認情況下,matplotlib爲x和y軸標籤和刻度標籤留下很小的空間,因此您需要調整圖形以包含更多的填充。幸運的是,這樣做並不容易。在打電話之前,savefig,你可以打電話叫

fig.tight_layout() 
plt.savefig('output.png', dpi=300) 

或者,您也可以通過bbox_inches =「緊」到savefig這也將調整數字包括所有的X和Y標籤

plt.savefig('output.png', dpi=300, bbox_inches='tight') 
相關問題