?今天用matplotlib.plot畫折線圖圖時發(fā)現(xiàn)橫坐標并沒有按順序排列,出現(xiàn)了混亂的情況,導(dǎo)致圖很亂,查了好多方法發(fā)現(xiàn)是數(shù)據(jù)類型的原因(最近我出現(xiàn)的好多問題都是因為數(shù)據(jù)類型不對,下次出問題要記得用type先查一下數(shù)據(jù)類型)...
我想從06 排到 22,結(jié)果不知道為什么06出現(xiàn)在后面,其他的還都很正常
問題解決:
在用matplotlib.plot畫圖時,坐標應(yīng)該使用int或者float類型的數(shù)據(jù)才會按順序排列,用str類型的數(shù)據(jù)就會導(dǎo)致數(shù)據(jù)混亂。
data ['列名'] =data ['列名'].astype('int')
data ['列名'] =data ['列名'].astype('float')
然后橫坐標就變成了這個樣子
新的問題出現(xiàn)了,就是如何將橫坐標每一項都顯示出來,又查了很多方法。
好多人用plt.xlim()的方法,但是我是畫多個折線在同一張圖中顯示的,所以并不適合。
然后看這個博主找到了這個方法。Python設(shè)置matplotlib.plot的坐標軸刻度間隔以及刻度范圍_gdengden的博客-CSDN博客_plt坐標軸間隔
?把這段代碼插入到畫圖plt.plot()前就解決啦~
#導(dǎo)入 MultipleLocator包更改坐標軸間隔
from matplotlib.pyplot import MultipleLocator
#x軸間隔為1
x_major_locator=MultipleLocator(1)
#y軸間隔為10
y_major_locator=MultipleLocator(10)
#ax為兩條坐標軸的實例
ax=plt.gca()
#設(shè)置x軸間隔
ax.xaxis.set_major_locator(x_major_locator)
#設(shè)置y軸間隔
ax.yaxis.set_major_locator(y_major_locator)
?結(jié)果如下:
文章來源:http://www.zghlxwxcb.cn/news/detail-513342.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-513342.html
到了這里,關(guān)于【Python】matplotlib.plot畫圖橫坐標混亂及間隔處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!