X 标签 matplotlib

X labels matplotlib

我想将 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()

感谢您的建议。

示例中的 plot 方法不知道数据的缩放比例。因此,为简单起见,它将 demand 的值视为彼此分开的一个单位。如果你想让你的 x 轴代表年,你必须告诉 matplotlib 有多少 demand 的值应该被视为 "one year"。如果你的数据是按月的需求,那显然是每年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()