在熊猫顶部带有标签名称和值的条形图

M H*_*ain 1 python pandas

我有两列,我使用 groupby 选项创建了一个名为 output_duration_per_device 的 df,例如

output_duration_per_device=s3_dataset.groupby('DeviceType')['Output_media_duration'].sum().reset_index(name ='format_duration')

output_duration_per_device
DeviceType           format_duration
0   Alchemist          8.166905e+06
1   CaptionMaker       1.310864e+07
2   Elemental          1.818089e+07
3   EncodingCloud      0.000000e+00
4   FfMpeg             5.258470e+07
5   FlipFactory        4.747456e+02
6   Rhozet             6.263442e+08
7   Tachyon            4.827463e+06
Run Code Online (Sandbox Code Playgroud)

我可以进行酒吧聊天并找到这样的

output_duration_per_device=s3_dataset.groupby('DeviceType')['Output_media_duration'].sum().reset_index(name ='Device_duration').plot(kind ='bar', figsize=(10,7), fontsize=13)
output_duration_per_device.set_alpha(0.8)
output_duration_per_device.set_title('DeviceType Output Media duration')
output_duration_per_device.set_xlabel('DeviceType')
plt.ylabel('Output_media_duration')
Run Code Online (Sandbox Code Playgroud)

这给了我 在此处输入图片说明

但我想要像下面这样 在此处输入图片说明

请帮我

use*_*203 7

plot通过高度使用和注释(我建议调整间距):

from decimal import Decimal
ax = df.plot(x='DeviceType', y='format_duration', kind='bar')
for p in ax.patches:
    ax.annotate('{:.2E}'.format(Decimal(str(p.get_height()))), (p.get_x(), p.get_height()))
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 您如何增加值与条形本身之间的差距? (2认同)