在barh中显示数据框中的值

时间:2019-10-11 10:56:07

标签: python pandas matplotlib

我有一些代码可以打开Excel文件作为数据框。基于此,绘制了条码。但是,我无法在栏中显示这些值。 excel的列标题在图例中显示的文件之间变化。

数据框如下所示:

    40+     50+     60+
e   .35     .45     .28
n   .28     .52     .27

尝试ax.annotate

非常感谢

“”“代码”“”

import pandas as pd
import numpy as np
from pandas import ExcelWriter
from pandas import ExcelFile
df = pd.read_excel('C://1/table/c.xlsx', sheet_name='Sheet1')

print (df)

ax = df.plot.barh(width=0.9, fontsize='xx-large', figsize=(20,20), color=      
['#a6979C', '#BFB0BA', '#D9CCD9', '#bebabf', '#eae4f2'] )

ax.legend(bbox_to_anchor=(1,1),loc='best', fontsize='30')

预期结果:水平条,条中的值

1 个答案:

答案 0 :(得分:1)

我复制了您的代码,并添加了“;”经过两个指示并获得正确的结果 (仅水平条),使用 Jupyter Notebook

所以您应该添加分号。

要在条形上添加值

我更改了一些数值并添加了值的叠加 在每个栏上,通过以下方式对其进行注释:

ax = df.plot.barh(width=0.7, fontsize='16', figsize=(11,5));
ax.legend(bbox_to_anchor=(1, 0.3), fontsize='14');
for p in ax.patches:
    w = p.get_width()
    ax.annotate(f'{w:.2f}', (w * 0.5, p.get_y() + 0.1))

您的环境中的实验,调整各种数值参数 在您认为适当的时候。