如何在pyplot中为每个x值绘制y轴上的平均值

4

我正在使用 matplotlib.pyplot 来可视化我的数据。在 pandas 中,我有“hour”和“favourite_count”两列。hour 的值从 0 到 24。"favourite_count" 是一个连续变量。我想要绘制一个条形图,以可视化每个小时的平均 "favourite_count"。目前我正在绘制一个基本图表,如下所示。在 y 轴上,这会为每个小时绘制“favourite_count”的总和/最大值(我不确定哪个)。我该如何绘制一个可视化 hour vs average_favorite_count_for_hour 的图表?

plt.bar(result['hour'], result['favourite_count'])
plt.xlabel('hour')
plt.ylabel('favourite_count')
plt.title('hour vs popularity', y=1.1)
plt.grid()
plt.show()

你可以使用groupby命令,然后绘制图表。 - Ernest S Kirubakaran
1个回答

5
在绘图之前,通过添加以下行来执行平均步骤:
result = result.groupby('hour').mean()

然后按照以下方式绘制:

plt.bar(result.index, result['favourite_count'])
plt.xlabel('hour')
plt.ylabel('favourite_count')
plt.title('hour vs popularity', y=1.1)
plt.grid()
plt.show()

请注意,现在x轴是索引。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接