1
我使用matplotlib.pyplot
繪製帶有圖例的條形圖,plt.savefig()
保存的圖與plt.show()
相比不完整。更確切地說,這個圖例不在圖中,jpg文件只有圖例的左邊一半。如何在matplotlib.pyplot中顯示savefig?
我的代碼:
from matplotlib import pyplot as plt
fig = plt.figure(figsize=(12,6))
plt.bar(x, y, label="a")
plt.legend(bbox_to_anchor=(1.02, 1), loc="upper left")
plt.show()
fig.savefig("a.jpeg")
我通過這個答案Matplotlib savefig with a legend outside the plot但所選擇的答案看起來建議手動調節軸。我有很多不同的數字,因此可能不合適。自從它在多年前發佈以來,我不知道是否可以使用任何自動方法使plt.savefig()
的效果爲plt.show()
?我在plt.savefig()
找不到任何適當的論點。
謝謝!
是否加入'bbox_inches ='tight''到savefig解決這個問題? –
謝謝!這種幫助。但我不太瞭解關於'bbox_inches'的文檔中的評論。這是爲了什麼? –
它的意思是簡單地刪除空白,儘管我發現它解決了標籤文本被切斷的'savefig'問題。一個更好的解決方案可能是'tight_layout',請參閱http://stackoverflow.com/questions/6774086/why-is-my-xlabel-cut-off-in-my-matplotlib-plot,但似乎很奇怪,你應該需要在某些情況下。 –