📅  最后修改于: 2023-12-03 15:32:51.726000             🧑  作者: Mango
Matplotlib 是一个强大灵活的 Python 画图库,也是科学家和工程师最常使用的数据可视化工具之一。 条形图是 Matplotlib 中最基本的可视化方式之一,其可以用于比较多个项目之间的数据差异。通常情况下,条形图会包含一个轴和一个数值轴。
在 Matplotlib 中,有许多方法可以定制条形图的外观,包括更改条形颜色、尺寸和标签。本文将介绍如何使用 Matplotlib 来创建带有条形标签的条形图。
我们首先需要创建一个基本的条形图,我们可以使用 bar()
函数。该函数需要两个必需参数:条形的位置和高度。
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [10, 24, 36, 40, 17]
plt.bar(x, y)
plt.show()
以上代码将在屏幕上显示以下图形:
为了向条形添加标签,我们可以使用 text()
函数。该函数接受以下参数:
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [10, 24, 36, 40, 17]
plt.bar(x, y)
for i in range(len(x)):
plt.text(x=i, y=y[i]+1, s=y[i])
plt.show()
以上代码将在屏幕上显示以下图形:
除了使用默认标签之外,我们还可以自定义标签。例如,我们可以将标签设置为每个条形的百分比。可以使用以下公式计算每个条形的百分比:
percentage = (value/total_value)*100
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [10, 24, 36, 40, 17]
total = sum(y)
plt.bar(x, y)
for i in range(len(x)):
percentage = (y[i]/total)*100
plt.text(x=i, y=y[i]+1, s='{}%'.format(round(percentage)))
plt.show()
以上代码将在屏幕上显示以下图形:
在一些情况下,我们可能希望将条形图倒转为水平方向。为了实现这一目的,我们可以使用 barh()
函数代替 bar()
函数。
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [10, 24, 36, 40, 17]
total = sum(y)
plt.barh(x, y)
for i in range(len(x)):
percentage = (y[i]/total)*100
plt.text(y=y[i]+0.1, x=y[i], s='{}%'.format(round(percentage)))
plt.show()
以上代码将在屏幕上显示以下图形:
Matplotlib 可以为创建条形图提供强大的支持。在上述示例中,我们展示了如何使用 Matplotlib 创建带有自定义标签的基本条形图和倒转条形图。Matplotlib 提供了许多其他功能,可以帮助您定制您的可视化,以满足您的需求。