详解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树的同构学习笔记

一、题意理解 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构的”。现给定两棵树,请你判断它们是否是同构的。 输入格式:输入给出2棵二叉树的信...

python提取具有某种特定字符串的行数据方法

python提取具有某种特定字符串的行数据方法

今天又帮女朋友处理了一下,她的实验数据,因为python是一年前经常用,最近找工作,用的是c,c++,python的有些东西忘记了,然后就一直催我,说我弄的慢,弄的慢,你自己弄啊,烦不烦...

在python中使用正则表达式查找可嵌套字符串组

在网上看到一个小需求,需要用正则表达式来处理。原需求如下: 找出文本中包含”因为……所以”的句子,并以两个词为中心对齐输出前后3个字,中间全输出,如果“因为”和“所以”中间还存在“因为”...

Python中使用hashlib模块处理算法的教程

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(...

深入理解python中sort()与sorted()的区别

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列 一,最简单的排序 1.使用sort排序 my_...