如何在Matplotlib中的堆叠水平条形图中显示数据值

时间:2019-01-12 19:09:30

标签: python python-3.x matplotlib data-visualization

您好,我目前正在使用数据框绘制堆叠的水平条形图。代码如下

new_data.plot.barh(stacked = True)

我得到如下图。

enter image description here

理想情况下,我希望将数据值显示在其中,如下所示。 enter image description here

我该如何完成?任何帮助表示赞赏。谢谢

1 个答案:

答案 0 :(得分:2)

还有一个类似的问题here,只需使用ax.text并根据您的柱线值和柱线枚举来调整x和y位置,例如:

import pandas as pd
df = pd.DataFrame({'value1':[10, 30, 20],'value2':[20,50,10]})
ax = df.plot.barh(stacked = True);
print(df)
for rowNum,row in df.iterrows():
    xpos = 0
    for val in row:
        xpos += val
        ax.text(xpos + 1, rowNum-0.05, str(val), color='black')
    xpos = 0
display(ax)

enter image description here