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