欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?matplotlib畫圖時坐標軸重疊顯示不全和圖片保存時不完整的問題解決

 更新時間:2022年07月01日 09:23:55   作者:每天都想躺平的大喵  
最近工作中遇到了matplotlib保存圖片坐標軸不完整的問題,所以這篇文章主要給大家介紹了關(guān)于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)文章

最新評論