python?matplotlib畫圖時坐標軸重疊顯示不全和圖片保存時不完整的問題解決
問題
在使用matplotlib
作圖的時候,有的時候會遇到畫圖時坐標軸重疊,顯示不全和圖片保存時不完整的問題。如下:
解決方案
畫圖時重疊或者顯示不全的問題
- 畫圖時加上參數(shù)設置
tight_layout=True
- 畫完所有子圖后,設置
plt.tight_layout()
# 加上tight_layout=True 參數(shù)設置 fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12,6), tight_layout=True) labels = ['2022-{}-01'.format(str(i).zfill(2)) for i in range(1,13)] y1 = np.random.randint(low=1, high=10, size=12) y2 = np.random.randint(low=1, high=10, size=12) axes[0].bar(labels, y1) axes[0].set_xticks(labels) axes[0].set_xticklabels(labels, rotation=75) axes[1].bar(labels, y2) axes[1].set_xticks(labels) axes[1].set_xticklabels(labels, rotation=75) plt.savefig('test.png', dpi=200)
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12,6)) labels = ['2022-{}-01'.format(str(i).zfill(2)) for i in range(1,13)] y1 = np.random.randint(low=1, high=10, size=12) y2 = np.random.randint(low=1, high=10, size=12) axes[0].bar(labels, y1) axes[0].set_xticks(labels) axes[0].set_xticklabels(labels, rotation=75) axes[1].bar(labels, y2) axes[1].set_xticks(labels) axes[1].set_xticklabels(labels, rotation=75) plt.tight_layout() # 這里加上plt.tight_layout(),記住要在畫完所有子圖后 plt.savefig('test.png', dpi=200)
效果如下:
保存時圖片不完整的問題
在plt.savefig中加入bbox_inches='tight’參數(shù)設置
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12,6), tight_layout=True) labels = ['2022-{}-01'.format(str(i).zfill(2)) for i in range(1,13)] y1 = np.random.randint(low=1, high=10, size=12) y2 = np.random.randint(low=1, high=10, size=12) axes[0].bar(labels, y1) axes[0].set_xticks(labels) axes[0].set_xticklabels(labels, rotation=75) axes[1].bar(labels, y2) axes[1].set_xticks(labels) axes[1].set_xticklabels(labels, rotation=75) plt.savefig('test.png', dpi=600, bbox_inches='tight') # savefig時加入bbox_inches='tight'參數(shù)設置
補充:使用matplotlib時如何讓坐標軸完整顯示所有的標簽刻度
在使用matplotlib時,由于數(shù)據(jù)量過大,在默認設置下,使用plot等時,會將x,y軸的刻度按一定比例縮減掉一部分,如:1,2,3,4,5,6,7,8,9,10會顯示成2,4,6,8,10等,解決方法是使用xticks()和yticks():
xticks(ticks=None, labels=None, **kwargs)
ticks:x軸顯示的數(shù)值(類型:list),若為空,則x軸上不會顯示任何數(shù)值;
labels:標簽項,當ticks不為空時,labels內(nèi)容將覆蓋ticks的內(nèi)容
**kwargs:控制標簽內(nèi)容的排版
Return:
- locs:返回x軸坐標列表
- labels:返回x軸標簽列表
總結(jié)
到此這篇關(guān)于python matplotlib畫圖時坐標軸重疊顯示不全和圖片保存時不完整問題解決的文章就介紹到這了,更多相關(guān)matplotlib畫圖時坐標軸重疊顯示不全內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?PaddleNLP開源實現(xiàn)快遞單信息抽取
這篇文章主要為大家介紹了Python?PaddleNLP開源項目實現(xiàn)對快遞單信息抽取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06詳解Python靜態(tài)網(wǎng)頁爬取獲取高清壁紙
這篇文章主要介紹了Python爬取高清壁紙,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04Python實現(xiàn)動態(tài)添加類的屬性或成員函數(shù)的解決方法
這篇文章主要介紹了Python實現(xiàn)動態(tài)添加類的屬性或成員函數(shù)的解決方法,在類似插件開發(fā)的時候會比較有用,需要的朋友可以參考下2014-07-07python實現(xiàn)每天自動簽到領(lǐng)積分的示例代碼
這篇文章主要介紹了python實現(xiàn)每天自動簽到領(lǐng)積分的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08wxPython繪圖模塊wxPyPlot實現(xiàn)數(shù)據(jù)可視化
這篇文章主要為大家詳細介紹了wxPython繪圖模塊wxPyPlot實現(xiàn)數(shù)據(jù)可視化,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11