Python 2.7时间序列非数值
我正在使用Python2.7,需要使用matplotlib库绘制时间序列。我的Python 2.7时间序列非数值,python,python-2.7,matplotlib,time-series,Python,Python 2.7,Matplotlib,Time Series,我正在使用Python2.7,需要使用matplotlib库绘制时间序列。我的y轴数据是数字数据,一切正常 问题是我的x轴数据不是数字,在这种情况下matplotlib不配合。它不会给我画一个时间序列,即使它不会影响绘图的正确性,因为x轴数据无论如何都是按给定顺序排列的,它的顺序在逻辑上不会影响任何东西 例如,假设x数据是[“i”、“like”、“python”],而y轴数据是[1,2,3] 我没有添加代码,因为我发现代码没有问题,如果我将数据更改为所有数字数据,代码就可以工作 请解释我如何使用
y
轴数据是数字数据,一切正常
问题是我的x
轴数据不是数字,在这种情况下matplotlib不配合。它不会给我画一个时间序列,即使它不会影响绘图的正确性,因为x
轴数据无论如何都是按给定顺序排列的,它的顺序在逻辑上不会影响任何东西
例如,假设x
数据是[“i”、“like”、“python”]
,而y
轴数据是[1,2,3]
我没有添加代码,因为我发现代码没有问题,如果我将数据更改为所有数字数据,代码就可以工作
请解释我如何使用matplotlib绘制时间序列,而不必将x
值转换为数值
我的matplotlib代码基于以下答案:,。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()
,这导致:
注意,我是如何把标签放在那里的,但却不得不说它们应该放在哪里
我还认为您应该在代码中加入一部分,以便其他人更容易提出建议。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()
,这导致:
注意,我是如何把标签放在那里的,但却不得不说它们应该放在哪里
我还认为您应该在代码中加入一部分,以便其他人更容易提出建议。当您编写plt.plot(y,y)时,您这样做是因为y是1,2,3?在任何其他情况下你都不会使用它?我这样做是为了方便。您可以使用xt=[1,2,3],但是y已经存在了。你只需要一种方法来说明这些标签应该在哪里。当你写plt.plot(y,y)时,你这么做是因为y是1,2,3?在任何其他情况下你都不会使用它?我这样做是为了方便。您可以使用xt=[1,2,3],但是y已经存在了。你只需要一种方式来说明这些标签需要放在哪里。