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