优草派 > 问答 > Python

如何使用python barh()函数绘制柱状图?

作者:ee123456     

在数据分析和可视化中,绘制图表是非常重要的一部分。Python作为一种高级编程语言,它的数据分析和可视化库也非常丰富。本文将介绍如何使用Python中的barh()函数绘制水平方向的柱状图。

一、什么是水平方向的柱状图?

柱状图是一种常见的数据可视化方式,它通过柱子的高度或长度来显示数据大小。水平方向的柱状图与垂直方向的柱状图不同,它是将柱子的宽度表示为数据大小。水平方向的柱状图通常用于比较不同组之间的数据,以及显示数据的排名。

二、Python中绘制水平方向的柱状图的步骤

1.导入相关库

在Python中绘制水平方向的柱状图需要导入matplotlib库,代码如下:

```

import matplotlib.pyplot as plt

```

2.准备数据

以一个简单的数据集为例:

```

data = {'apple': 20, 'banana': 15, 'orange': 25, 'peach': 10}

```

3.绘制水平方向的柱状图

使用barh()函数绘制水平方向的柱状图,代码如下:

```

plt.barh(range(len(data)), list(data.values()), align='center')

```

该代码中,range(len(data))生成0到3的整数序列,对应数据集中的4个水果,list(data.values())将数据集中的值转换为列表,align='center'将柱子居中对齐。执行完该代码后,可以得到以下水平方向柱状图:

![image.png](attachment:image.png)

4.添加标签

使用yticks()函数添加y轴标签,代码如下:

```

plt.yticks(range(len(data)), list(data.keys()))

```

该代码中,range(len(data))生成0到3的整数序列,对应数据集中的4个水果,list(data.keys())将数据集中的键转换为列表。执行完该代码后,可以得到以下水平方向柱状图:

![image-2.png](attachment:image-2.png)

5.添加标题和标签

使用title()函数和xlabel()函数添加标题和x轴标签,代码如下:

```

plt.title('Fruit Sales')

plt.xlabel('Sales')

```

该代码中,'Fruit Sales'表示标题,'Sales'表示x轴标签。执行完该代码后,可以得到以下水平方向柱状图:

![image-3.png](attachment:image-3.png)

6.显示图表

使用show()函数显示图表,代码如下:

```

plt.show()

```

执行完该代码后,可以得到完整的水平方向柱状图:

![image-4.png](attachment:image-4.png)

三、barh()函数的常用参数

在使用barh()函数绘制水平方向的柱状图时,还有一些常用的参数可以调整,如下:

1.参数height

height参数用于设置柱子的高度,可以是单个值或一个数组。例如,当height=0.5时,所有柱子的高度都为0.5,当height=[0.1, 0.2, 0.3, 0.4]时,每个柱子的高度分别为0.1、0.2、0.3和0.4。

2.参数color

color参数用于设置柱子的颜色,可以是单个值或一个数组。例如,当color='blue'时,所有柱子的颜色都为蓝色,当color=['blue', 'green', 'red', 'yellow']时,每个柱子的颜色分别为蓝色、绿色、红色和黄色。

3.参数edgecolor

edgecolor参数用于设置柱子边框的颜色,可以是单个值或一个数组。例如,当edgecolor='black'时,所有柱子的边框颜色都为黑色,当edgecolor=['black', 'white', 'gray', 'brown']时,每个柱子的边框颜色分别为黑色、白色、灰色和棕色。

四、使用barh()函数绘制堆积水平方向柱状图

除了绘制普通的水平方向柱状图,barh()函数还可以用来绘制堆积水平方向柱状图。堆积水平方向柱状图可以更清晰地显示数据之间的关系,例如,可以用于比较不同产品的销售额。

使用barh()函数绘制堆积水平方向柱状图的步骤如下:

1.导入相关库

```

import matplotlib.pyplot as plt

```

2.准备数据

以两个产品的销售额为例:

```

product1 = {'Jan': 20, 'Feb': 15, 'Mar': 25, 'Apr': 10}

product2 = {'Jan': 30, 'Feb': 25, 'Mar': 20, 'Apr': 15}

```

3.绘制堆积水平方向柱状图

使用barh()函数绘制堆积水平方向柱状图,代码如下:

```

plt.barh(range(len(product1)), list(product1.values()), align='center', color='blue')

plt.barh(range(len(product2)), list(product2.values()), align='center', color='green', left=list(product1.values()))

```

该代码中,第一行绘制了product1的柱状图,第二行绘制了product2的柱状图,并将product2的柱子左边对齐到product1的柱子上。执行完该代码后,可以得到以下堆积水平方向柱状图:

![image-5.png](attachment:image-5.png)

4.添加标签和标题

使用yticks()函数添加y轴标签,title()函数添加标题,代码如下:

```

plt.yticks(range(len(product1)), list(product1.keys()))

plt.title('Product Sales')

```

该代码中,range(len(product1))生成0到3的整数序列,对应数据集中的4个月份,list(product1.keys())将数据集中的键转换为列表,'Product Sales'表示标题。执行完该代码后,可以得到以下堆积水平方向柱状图:

![image-6.png](attachment:image-6.png)

5.显示图表

使用show()函数显示图表,代码如下:

```

plt.show()

```

执行完该代码后,可以得到完整的堆积水平方向柱状图:

![image-7.png](attachment:image-7.png)

五、

5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
相关问题
anaconda3安装后找不到
安卓超强文本编辑器中文版
在线代码编辑
怎么读取mat文件
查看更多

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024