将平均线和数据标签添加到 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)

我找到了两种方法来处理这个问题,但我无法使用其中任何一种:

  1. 使用 matplotlib,它有均值和数据标签选项 - 但我没有看到多个子图的选项(每列一个)
  2. 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比较结果: