详解Matplotlib的plt.barh()函数:绘制水平条形图

您所在的位置:网站首页 ppt中的柱状图如何更改水平轴标签 详解Matplotlib的plt.barh()函数:绘制水平条形图

详解Matplotlib的plt.barh()函数:绘制水平条形图

2024-07-02 17:15| 来源: 网络整理| 查看: 265

Matplotlib是Python中最流行的绘图库之一,它可以用于绘制各种类型的图形,包括折线图、散点图、饼图、柱状图等,同时也可以用于数据可视化和数据分析。plt.barh()函数是Matplotlib中用于绘制水平条形图的函数之一,本文将详细介绍plt.barh()的作用和使用方法,并提供两个实例说明。

plt.barh()的作用

plt.barh()是Matplotlib库中用于绘制水平条形图的函数。它的作用是绘制单个或多个水平条形图,可以通过调整参数来设置条形图的颜色、大小、标签、标题等各种属性。

plt.barh()的使用方法

plt.barh()函数的语法格式如下:

plt.barh(y, width, height=0.8, left=None, *, align='center', color=None, edgecolor=None, linewidth=None, tick_label=None, **kwargs)

其中,各个参数的含义如下:

y:条形图的y坐标,类型为数组或列表。

width:条形图的宽度,类型为数组或列表。

height:条形图的高度,默认值为0.8。

left:条形图的左侧坐标,默认值为None。

align:条形图的对齐方式,可选值为'center'、'edge',默认值为'center'。

color:条形图的颜色,可以是单个颜色值或颜色列表,如果是列表,则每个条形图可以有不同的颜色。

edgecolor:条形图的边框颜色。

linewidth:条形图的边框线宽。

tick_label:条形图的刻度标签,类型为数组或列表。

**kwargs:其他关键字参数,如标签、标题等。

下面是一个简单的例子,它演示了如何使用plt.barh()函数绘制单个水平条形图:

import matplotlib.pyplot as plt import numpy as np # 设置数据 data = [25, 30, 45, 60, 20] y = np.arange(len(data)) # 绘制条形图 plt.barh(y, data, color='blue', height=0.5) # 添加标题和坐标轴标签 plt.title('Sample Bar Chart') plt.xlabel('Count') plt.ylabel('Category') # 显示图形 plt.show()

代码执行结果为:

详解Matplotlib的plt.barh()函数:绘制水平条形图

上述代码中,我们首先通过numpy库生成一个数组y和数据列表data。然后调用plt.barh()函数,并将y和data作为函数的前两个参数。我们还可以通过color参数设置条形图的颜色、通过height参数设置条形图的高度、通过title()、xlabel()和ylabel()函数添加相应的标题和坐标轴标签。

接下来,我们将讲解如何使用plt.barh()函数绘制多个水平条形图。

下面是一个示例代码,其中演示了如何使用plt.barh()函数绘制多个水平条形图:

import matplotlib.pyplot as plt import numpy as np # 设置数据 data = [ ('Category A', [25, 30, 45, 60, 20]), ('Category B', [20, 35, 30, 45, 25]), ('Category C', [34, 28, 25, 20, 30]) ] # 创建画布和子图 fig, ax = plt.subplots() # 循环绘制多个条形图 for i, (name, values) in enumerate(data): y = np.arange(len(values)) ax.barh(y+i*0.3, values, height=0.3, label=name) # 添加标签和标题 ax.set_title('Sample Bar Chart') ax.set_xlabel('Count') ax.set_ylabel('Category') ax.legend() # 显示图形 plt.show()

上述代码中,我们首先定义了一个包含多个条形图数据的列表data,每个元素包含一个字符串标签和一个数据列表。然后,我们使用for循环遍历列表中的数据,并为每个数据绘制一个水平条形图。

为了避免条形图重叠,我们在y坐标上添加了一些偏移量。通过对于i的循环,使用每个条形图之间的距离(0.3),逐步偏移每个条形图。我们还使用label参数为每个条形图添加一个标签。

最后,我们通过ax.set_title()、ax.set_xlabel()和ax.set_ylabel()函数为图形添加标题和坐标轴标签。使用ax.legend()函数添加图例。最终代码运行结果如下:

详解Matplotlib的plt.barh()函数:绘制水平条形图

这里我们展示了两个例子,一个关于单一的水平条形图的例子,另一个是包含多个水平条形图的例子。很好地进行介绍了plt.barh()函数的基本应用场景。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Matplotlib的plt.barh()函数:绘制水平条形图 - Python技术站



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3