X标签matplotlib

时间:2016-02-05 18:42:01

标签: python matplotlib timeserieschart

我想将x轴更改为年。这些年是可变年份的拯救。

我想制作看起来像这样的数据: It should look like this image

但是,我无法用多年创建x轴。我的情节如下图所示: This is an example of produced image by my code

我的代码如下:

import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv("data1.csv")
demand = data["demand"]
years = data["year"]
plt.plot( demand, color='black')
plt.xlabel("Year")
plt.ylabel("Demand (GW)")
plt.show()

我很感谢任何建议。

1 个答案:

答案 0 :(得分:1)

示例中的plot方法不知道数据的缩放。因此,为简单起见,它将demand的值视为彼此分开的一个单位。如果您希望x轴代表年数,则必须告诉matplotlib它应该将demand的值视为"一年"。如果您的数据是按月需求,则显然每年有12个值。我们走了:

# setup a figure
fig, (ax1, ax2) = plt.subplots(2)

# generate some random data
data = np.random.rand(100)

# plot undesired way
ax1.plot(data)

# change the tick positions and labels ...
ax2.plot(data)

# ... to one label every 12th value
xticks = np.arange(0,100,12)

# ... start counting in the year 2000
xlabels = range(2000, 2000+len(xticks))

ax2.set_xticks(xticks)
ax2.set_xticklabels(xlabels)

plt.show()