Python 2.7时间序列非数值

时间:2016-03-21 15:10:22

标签: python python-2.7 matplotlib time-series

我使用的是Python 2.7,需要使用matplotlib库绘制时间序列。我的y轴数据是数字的,一切正常。

问题是我的x轴数据不是数字,matplotlib在这种情况下不合作。虽然它不应该影响绘图的正确性,但它并没有给我画一个时间序列,因为x轴数据无论如何都按给定的顺序排列,它的顺序不会影响任何逻辑上的顺序。

例如,假设x数据为["i","like","python"]y轴数据为[1,2,3]

我没有添加我的代码,因为我发现代码没问题,如果我将数据更改为所有数字数据,它就有效。

请解释我如何使用matplotlib绘制时间序列,而不是让我将x值转换为数字内容。

我的matplotlib代码基于以下答案:How to plot Time Series using matplotlib PythonTime Series Plot Python

1 个答案:

答案 0 :(得分:2)

Matplotlib需要对这些标签进行定位。请参阅以下示例:

import matplotlib.pyplot as plt

x = ["i","like","python"] 
y = [1,2,3]

plt.plot(y,y)  # y,y because both are numeric (you could create an xt = [1,2,3]
plt.xticks(y,x) # same here, the second argument are the labels.
plt.show()

,结果如下:

enter image description here

注意我是如何把标签放在那里但不得不以某种方式说出它们应该在哪里。

我还认为你应该放置一部分代码,以便其他人更容易提出建议。