这篇文章主要介绍了Python Matplotlib如何解决绘图X轴值不按数组排序问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
在用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()
得到的效果图是:
感谢你能够认真阅读完这篇文章,希望小编分享的“Python Matplotlib如何解决绘图X轴值不按数组排序问题”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。