📜  水平条形图 matplotlib - Python (1)

📅  最后修改于: 2023-12-03 15:26:55.183000             🧑  作者: Mango

水平条形图 matplotlib - Python

水平条形图是数据可视化的一种常见形式,可以用来比较不同变量之间的数量或比率。在 Python 中,可以使用 Matplotlib 库来创建水平条形图。

准备工作

在使用 Matplotlib 之前,需要先安装该库。可以使用以下命令来安装:

pip install matplotlib

然后再导入 Matplotlib 库:

import matplotlib.pyplot as plt
创建水平条形图

在 Matplotlib 中,可以使用 barh 函数来创建水平条形图。以下是一个示例:

import matplotlib.pyplot as plt

# 数据
labels = ['A', 'B', 'C', 'D', 'E']
values = [20, 35, 30, 25, 40]

# 创建水平条形图
plt.barh(labels, values)

# 添加标题和标签
plt.title("水平条形图示例")
plt.xlabel("数量")

# 显示图像
plt.show()

这段代码会创建一个包含五个水平条形的图像,每个条形的高度表示对应变量的数量。图像如下所示:

水平条形图示例

调整水平条形图

使用 barh 函数创建水平条形图后,可以使用多种方式调整图像。

颜色

可以使用 color 参数来指定条形的颜色。例如,以下代码将 A 变量的条形设置为红色:

plt.barh(labels, values, color=['black', 'gray', 'red', 'gray', 'gray'])
排序

如果想要按照变量数量大小排序条形,可以先将变量和数量打包成元组,然后使用 sort 函数进行排序。例如,以下代码按照数量从小到大排序变量和数量,并创建相应的水平条形图:

import matplotlib.pyplot as plt

# 数据
labels = ['A', 'B', 'C', 'D', 'E']
values = [20, 35, 30, 25, 40]

# 按照数量从小到大排序变量和数量
data = sorted(zip(labels, values), key=lambda x: x[1])

# 创建水平条形图
plt.barh([x[0] for x in data], [x[1] for x in data])

# 添加标题和标签
plt.title("水平条形图示例")
plt.xlabel("数量")

# 显示图像
plt.show()

这段代码会创建一个按照数量从小到大排序的水平条形图,如下所示:

按照数量从小到大排序的水平条形图

堆叠

可以使用 bottom 参数来堆叠条形。例如,以下代码创建一个堆叠的水平条形图,其中 A 和 B 变量的数量相加表示紫色条形的高度:

import matplotlib.pyplot as plt

# 数据
labels = ['A', 'B', 'C', 'D', 'E']
values1 = [20, 35, 30, 25, 40]
values2 = [15, 20, 25, 30, 35]

# 创建水平条形图
plt.barh(labels, values1, color='c')
plt.barh(labels, values2, color='m', left=values1)

# 添加标题和标签
plt.title("水平条形图示例")
plt.xlabel("数量")

# 显示图像
plt.show()

这段代码会创建一个堆叠的水平条形图,如下所示:

堆叠的水平条形图示例

总结

本文介绍了如何使用 Matplotlib 库创建水平条形图,并介绍了如何调整图像的颜色、排序和堆叠等属性。希望这篇文章能够帮助你开始使用 Matplotlib 来创建数据可视化。