在用Matplotlib庫繪制折線圖的時候遇到一個問題,當定義一個x軸數組時,plot繪制折線圖時,x軸并不會按照我們定義的數組的順序去排列顯示,例如:
import matplotlib.pyplot as plt colums_x = ['aa','bc','ad','bd'] colums_y = [12,14,10,15] plt.plot(colums_x,colums_y) plt.show()
我期望的是 X 軸能夠按照: aa ,bc ,ad ,bd ,從左到右顯示,但plt.show()的實際效果是:
會出現這種原因,按照我的理解(純屬臆想,不對請指教,謝謝),應該 Matplotlib 根據ASCLL碼值或者其它值,定義了一個 X 軸的取值范圍,再從數組中的值對應取值范圍中的某個位置,跟 Y 軸差不多。但這不是我期望的效果。翻了一晚上的資料,幸運的是,最后讓我找到了解決的方法,代碼應該這樣寫:
from pylab import * import matplotlib.pyplot as plt colums_x = ['aa','bc','ad','bd'] colums_y = [12,14,10,15] # 自定義 x軸 的取值: plt.xticks(arange(len(colums_x)),colums_x) # 不要再寫進 colums_x 了 plt.plot(colums_y) plt.show()
得到的效果圖是:
這是第一次、第一篇博客,分享我遇到的簡單的問題,如若寫得有問題,麻煩請賜教,本人還是菜鳥,希望能和大家一起討論、學習。關于上面我遇到的這個問題,我只摸索出了解決方法,但是原理還不理解,如果有大大知道,麻煩請告訴我,謝謝.
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
