【发布时间】:2022-01-26 06:55:46
【问题描述】:
我有一个显示每年事件数量的折线图,以及一个当前显示平均事件数量的辅助线。我在我的图表中注意到 2020 年特别忙,因此我想添加第二条或第三条线来显示第一个和第二个标准偏差,以可视化 2020 年有多少标准偏差高于平均值。
以下是我的代码,但由于某种原因无法绘制:
y = year_group['Count']
x = year_group['year']
y_mean = [np.mean(y)]*len(x)
y_std = np.std(y)
fig,ax = plt.subplots()
data_line = ax.plot(x,y, label='Data', marker='o')
mean_line = ax.plot(x,y_mean, label='Mean', linestyle='--')
std_line = ax.plot(x,y_std,label = 'Standard deviation')
plt.show()
这是错误:
ValueError: x and y must have same first dimension, but have shapes (8,) and (1,)
我了解这个错误,但我想知道如何实现我的目标。这是我当前的输出:
【问题讨论】:
-
这能回答你的问题吗? Plot a horizontal line using matplotlib
-
尝试使用:
ax.plot(x, [y_std]*len(x), label = 'Standard deviation')
标签: python pandas matplotlib