python做柱状图如何显示数值标签

python做柱状图如何显示数值标签

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在Python的柱状图上添加数值标签?

我用Python绘制了柱状图,想在每个柱子上显示具体的数值,应该怎么操作?

A

使用Matplotlib添加柱状图数值标签的方法

可以通过Matplotlib中的text方法在每个柱子的顶部添加对应的数值标签。具体步骤是先绘制柱状图,获取每个柱子的坐标,然后使用ax.text()在合适位置显示数值。示例如下:

import matplotlib.pyplot as plt

values = [10, 20, 15, 25]
labels = ['A', 'B', 'C', 'D']
fig, ax = plt.subplots()
bars = ax.bar(labels, values)
for bar in bars:
    height = bar.get_height()
    ax.text(bar.get_x() + bar.get_width()/2, height, f'{height}', ha='center', va='bottom')
plt.show()
Q
有没有简便方法让Python柱状图自动显示数值?

我希望绘制的柱状图能自动显示数据数值标签,避免手动计算位置,有推荐的工具或方法吗?

A

使用Matplotlib的自动标签功能

Matplotlib的bar_label方法可以直接在柱状图上添加数值标签,不需要手动计算位置,提升绘图效率。示例如下:

import matplotlib.pyplot as plt

values = [10, 20, 15, 25]
labels = ['A', 'B', 'C', 'D']
fig, ax = plt.subplots()
bars = ax.bar(labels, values)
ax.bar_label(bars)
plt.show()
Q
在Python柱状图数值标签显示时如何调整字体大小和颜色?

柱状图顶部的数值标签看起来太小或和背景颜色太接近,有什么方法调整这些标签的字体样式吗?

A

设置柱状图数值标签的字体属性

使用ax.text()ax.bar_label()时,可以通过传入字体大小(fontsize)、颜色(color)等参数,灵活调整标签样式。例如:

for bar in bars:
    height = bar.get_height()
    ax.text(bar.get_x() + bar.get_width()/2, height, f'{height}',
            ha='center', va='bottom', fontsize=12, color='red')

或者使用bar_labelfontsize参数:

ax.bar_label(bars, fontsize=12, color='blue')