python如何生成横的柱状图

python如何生成横的柱状图

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:8

用户关注问题

Q
怎样用Python绘制水平柱状图?

我想用Python画一个横向展示数据的柱状图,应该使用哪个库和函数?

A

使用Matplotlib的barh()函数绘制水平柱状图

在Python中,可以使用Matplotlib库的barh()函数来生成水平柱状图。这个函数专门用来绘制横向的柱状图,只需提供数据的类别和对应的数值即可。示例代码:

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 25]

plt.barh(categories, values)
plt.xlabel('数值')
plt.ylabel('类别')
plt.title('水平柱状图示例')
plt.show()
Q
绘制横向柱状图时如何调整柱子的颜色和宽度?

在生成水平柱状图时,能否定制柱子的颜色和厚度?用Python应该怎么做?

A

通过参数设置barh()中的颜色和高度属性

使用Matplotlib的barh()函数时,可以通过参数color来设置柱子的颜色,通过height调节柱子的厚度。例如,color='skyblue'将柱子设为浅蓝色,height=0.5控制柱子的高度。示例代码如下:

plt.barh(categories, values, color='skyblue', height=0.5)
Q
Python中如何为横向柱状图添加数据标签?

想在水平柱状图上方显示每个柱子的具体数值,应该怎么实现?

A

使用循环结合text()函数给每个柱子添加数值标签

在绘制完水平柱状图后,可以通过循环遍历每个数据点,调用plt.text()函数在柱子旁边或上方显示对应的数值。示例代码示范:

bars = plt.barh(categories, values)
for bar in bars:
    width = bar.get_width()
    plt.text(width + 0.5, bar.get_y() + bar.get_height()/2, str(int(width)), va='center')