首页 >后端开发 >Python教程 >如何用四舍五入的数值注释 Pandas 条形图?

如何用四舍五入的数值注释 Pandas 条形图?

Susan Sarandon
Susan Sarandon原创
2024-12-26 01:33:09268浏览

How to Annotate Pandas Bar Plots with Rounded Numerical Values?

使用舍入数值注释 Pandas 条形图

在 Pandas 条形图中,使用相应的数值注释条形可以增强数据可视化并提供对图数据的深入了解。为了解决这个问题,让我们考虑一个具有随机值的 DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': np.random.rand(2), 'B': np.random.rand(2)}, index=['value1', 'value2'])

挑战:我们如何用舍入数值注释条形,类似于示例图像?

解决方案:

直接访问轴的补丁检索条形高度:

import matplotlib.pyplot as plt

ax = df.plot(kind='bar')
for p in ax.patches:
    height = p.get_height()
    label = round(height, 2)
    ax.annotate(label, (p.get_x() * 1.005, p.get_height() * 1.005))

此方法从 patch 对象获取条形高度,并使用舍入值注释条形。根据需要调整字符串格式和偏移量以使注释居中。

代码示例:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'A': np.random.rand(2), 'B': np.random.rand(2)}, index=['value1', 'value2'])
ax = df.plot(kind='bar')
for p in ax.patches:
    height = p.get_height()
    label = round(height, 2)
    ax.annotate(label, (p.get_x() * 1.005, p.get_height() * 1.005))

plt.show()

以上是如何用四舍五入的数值注释 Pandas 条形图?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn