将平均线和数据标签添加到 pandas' 图
adding mean line and data label to a pandas' plot
我绘制了 Dataframe 列的一系列子图,但找不到向这些图添加数据标签和平均线的方法。
我的代码现在看起来像这样(我在这里简化了数据):
categorized = pd.DataFrame(data={"food":[50, 60, 23, 80],
"books":[10, 18, 3, 12],
"cloths":[30, 50, 23, 80]},
index=["jan", "feb", "mar", "apr"])
a = categorized.plot(kind='bar', subplots=True, legend=False, figsize=(25, 105), sharex=False, layout=(4, 1))
plt.subplots_adjust(hspace=0.55)
我找到了两种方法来处理这个问题,但我无法使用其中任何一种:
- 使用 matplotlib,它有均值和数据标签选项 - 但我没有看到多个子图的选项(每列一个)
- pandas' 上面的示例 - 带有子图 - 但我找不到如何添加数据标签和均值线
是否有另一种方法可以结合这两种选择的优点?
谢谢!
就子图、数据标签和平均线而言,我不确定你要做什么,但这里有一个脚本,它产生的结果类似于 pandas 命令。特别是,它生成一个图,其中三个条形图作为子图,彼此堆叠。与 pandas 命令不同,这里的条更宽一些,颜色也相同。
categorized = pd.DataFrame(data={"food":[50, 60, 23, 80],
"books":[10, 18, 3, 12],
"cloths":[30, 50, 23, 80]},
index=["jan", "feb", "mar", "apr"])
fig,axs = plt.subplots(3,sharex = False, figsize=(10, 42))
for k,c in enumerate(categorized.columns):
axs[k].bar(categorized.index,categorized.loc[:,c])
axs[k].set_title(c)
结果:
Pandas比较结果:
我绘制了 Dataframe 列的一系列子图,但找不到向这些图添加数据标签和平均线的方法。
我的代码现在看起来像这样(我在这里简化了数据):
categorized = pd.DataFrame(data={"food":[50, 60, 23, 80],
"books":[10, 18, 3, 12],
"cloths":[30, 50, 23, 80]},
index=["jan", "feb", "mar", "apr"])
a = categorized.plot(kind='bar', subplots=True, legend=False, figsize=(25, 105), sharex=False, layout=(4, 1))
plt.subplots_adjust(hspace=0.55)
我找到了两种方法来处理这个问题,但我无法使用其中任何一种:
- 使用 matplotlib,它有均值和数据标签选项 - 但我没有看到多个子图的选项(每列一个)
- pandas' 上面的示例 - 带有子图 - 但我找不到如何添加数据标签和均值线
是否有另一种方法可以结合这两种选择的优点? 谢谢!
就子图、数据标签和平均线而言,我不确定你要做什么,但这里有一个脚本,它产生的结果类似于 pandas 命令。特别是,它生成一个图,其中三个条形图作为子图,彼此堆叠。与 pandas 命令不同,这里的条更宽一些,颜色也相同。
categorized = pd.DataFrame(data={"food":[50, 60, 23, 80],
"books":[10, 18, 3, 12],
"cloths":[30, 50, 23, 80]},
index=["jan", "feb", "mar", "apr"])
fig,axs = plt.subplots(3,sharex = False, figsize=(10, 42))
for k,c in enumerate(categorized.columns):
axs[k].bar(categorized.index,categorized.loc[:,c])
axs[k].set_title(c)
结果:
Pandas比较结果: