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

yipeiwu_com7年前Python基础

在用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设计】。

相关文章

Python 代码性能优化技巧分享

Python 代码性能优化技巧分享

如何进行 Python 性能优化,是本文探讨的主要问题。本文会涉及常见的代码优化方法,性能优化工具的使用以及如何诊断代码的性能瓶颈等内容,希望可以给 Python 开发人员一定的参考。...

Python标准异常和异常处理详解

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。 1.异常处理: 本站Python教程会具体介绍。 2.断言(...

Python3 Tkinter选择路径功能的实现方法

Python3 Tkinter选择路径功能的实现方法

效果基于Python3。 在自己写小工具的时候因为这个功能纠结了一会儿,这里写个小例子,供有需要的参考。 小例子,就是点击按钮打开路径选择窗口,选择后把值传给Entry输出。 效果预览...

python绘制无向图度分布曲线示例

python绘制无向图度分布曲线示例

如下所示: #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # 作 者:孔云 #问题描述:统计图中的每...

python画图——实现在图上标注上具体数值的方法

python画图——实现在图上标注上具体数值的方法

比如当前的表格数据是 df['resultRate'].plot(style='-.bo') plt.grid(axis='y') #设置数字标签** for a,b in zi...