详解Python Matplotlib解决绘图X轴值不按数组排序问题

系统 2173 0

在用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()的实际效果是:

详解Python Matplotlib解决绘图X轴值不按数组排序问题_第1张图片

会出现这种原因,按照我的理解(纯属臆想,不对请指教,谢谢),应该 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轴值不按数组排序问题_第2张图片

这是第一次、第一篇博客,分享我遇到的简单的问题,如若写得有问题,麻烦请赐教,本人还是菜鸟,希望能和大家一起讨论、学习。关于上面我遇到的这个问题,我只摸索出了解决方法,但是原理还不理解,如果有大大知道,麻烦请告诉我,谢谢.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论