近期工作中過程中遇到了matplotlib保存圖片縱坐標不完美的難題,因此本文關鍵為大家介紹了關于pythonmatplotlib繪圖時縱坐標重合顯示不全和圖片保存的時候不完善解決問題的方法方式,需要的小伙伴可以做個參考
難題
在使用matplotlib做圖時,有時候會碰到繪圖時縱坐標重合,顯示不全和圖片保存時不完美的難題。如下所示:
解決方案
畫圖時重疊或者顯示不全的問題
畫圖時加上參數設置tight_layout=True
畫完所有子圖后,設置plt.tight_layout()
#加上tight_layout=True參數設置 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’參數設置
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'參數設置
補充:使用matplotlib時如何讓坐標軸完整顯示所有的標簽刻度
在使用matplotlib時,由于數據量過大,在默認設置下,使用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軸顯示的數值(類型:list),若為空,則x軸上不會顯示任何數值;
labels:標簽項,當ticks不為空時,labels內容將覆蓋ticks的內容
**kwargs:控制標簽內容的排版
Return:
locs:返回x軸坐標列表
labels:返回x軸標簽列表
總結
這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128692.html
在使用matplotlib做圖得時候,有時候會碰到繪圖時顯示不全和圖片保存時不完美的難題,本文主要是為大家介紹了有關PandasMatplotlib保存圖型時縱坐標標識過長造成顯示不全問題解決方式,需用的小伙伴可以參考一下?! ⌒蜓浴 ∵@篇blog主要是處理在使用pandas制作圖象并儲存時,因為標識過長,造成縱坐標上標簽顯示不全問題。剛遇到困難的時候修改了一下下圖片尺寸,然而并沒有卵用,因此...
摘要:貝塞爾曲線方法可以繪制一種類似的曲線。不同的是貝塞爾曲線需要兩個控制點而不是一個,線段的每一個端點都需要一個控制點。下面是描述貝塞爾曲線的簡單示例。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項目原文:Drawing on Canvas 譯者:飛龍 協議:CC BY-NC-SA 4.0 自豪地采用谷歌翻譯 部分參考了《JavaScript 編程精解(第 2...
摘要:方案背景需求需要對圖片進行標注,導出圖片。對應方案用實現涂鴉圓形矩形的繪制,最終生成圖片編碼用于上傳大量圖片批量上傳很耗時間,為了提高用戶體驗,改為只實現圓形矩形繪制,最終保存成坐標,下次顯示時根據坐標再繪制。 方案背景 需求 需要對圖片進行標注,導出圖片。 需要標注N多圖片最后同時保存。 需要根據多邊形區域數據(區域、顏色、名稱)標注。 對應方案 用canvas實現涂鴉、圓形、...
摘要:年以來,深度學習方法開始在目標跟蹤領域展露頭腳,并逐漸在性能上超越傳統方法,取得巨大的突破。值得一提的是,目前大部分深度學習目標跟蹤方法也歸屬于判別式框架。 開始本文之前,我們首先看上方給出的3張圖片,它們分別是同一個視頻的第1,40,80幀。在第1幀給出一個跑步者的邊框(bounding-box)之后,后續的第40幀,80幀,bounding-box依然準確圈出了同一個跑步者。以上展示的其...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02