什么是matplotlib
Matplotlib 是一个广泛使用的 Python 绘图库,它提供了一个类似于 MATLAB 的绘图框架,使得用户可以轻松地创建高质量的图形和图表。Matplotlib 是数据可视化领域中非常受欢迎的工具,因为它支持多种图形格式,包括静态、动态和交互式图表。
代码实现
# 组合柱状图是利用 y轴起始位置
from matplotlib import pyplot as plt
fig, ax1 = plt.subplots(1, 1, figsize=(4, 4))
plt.bar([1, 2], [2, 3], 0.2, 0, align='center')
plt.text(x=1, y=1, s='A', ha="center", va="center")
plt.text(x=2, y=1.5, s='A', ha="center", va="center")
plt.bar([1, 2], [3, 2], 0.2, [2, 3], align='center')
plt.text(x=1, y=3.5, s='B', ha="center", va="center")
plt.text(x=2, y=4, s='B', ha="center", va="center")
plt.xticks([1, 2], ['A', 'B'])
plt.legend(['A', 'B'])
plt.show()
实现过程解释
-
from matplotlib import pyplot as plt
: 这行代码导入了 Matplotlib 库中的 pyplot 模块,并给它起了一个别名plt
,这是使用 Matplotlib 时的常见约定。 -
fig, ax1 = plt.subplots(1, 1, figsize=(4, 4))
: 这行代码创建了一个图形对象fig
和一个子图轴对象ax1
。参数1, 1
表示图形中只有一个子图,figsize=(4, 4)
设置了子图的大小为 4x4 英寸。 -
plt.bar([1, 2], [2, 3], 0.2, 0, align='center')
: 这行代码绘制了第一组柱状图。[1, 2]
是 x 轴的位置,[2, 3]
是每个柱子的高度,0.2
是柱子的宽度,0
是柱子的 y 轴起始位置,align='center'
表示柱子在指定的 x 轴位置上居中对齐。 -
plt.text(x=1, y=1, s='A', ha="center", va="center")
和plt.text(x=2, y=1.5, s='A', ha="center", va="center")
: 这两行代码在柱状图上方添加文本标签。x
和y
参数指定了文本的位置,s
参数是字符串内容,ha="center"
和va="center"
分别设置水平和垂直对齐方式为居中。 -
plt.bar([1, 2], [3, 2], 0.2, [2, 3], align='center')
: 这行代码绘制了第二组柱状图,它叠加在第一组柱状图之上。[2, 3]
是每个柱子的 y 轴起始位置,表示第二组柱子的底部应该与第一组柱子的顶部对齐。 -
plt.text(x=1, y=3.5, s='B', ha="center", va="center")
和plt.text(x=2, y=4, s='B', ha="center", va="center")
: 这两行代码在第二组柱状图上方添加文本标签,与前面的plt.text
调用类似。 -
plt.xticks([1, 2], ['A', 'B'])
: 这行代码设置了 x 轴的刻度位置和标签。[1, 2]
是刻度位置,['A', 'B']
是对应的标签。 -
plt.legend(['A', 'B'])
: 这行代码添加了一个图例,['A', 'B']
是图例中的条目。 -
plt.show()
: 这行代码显示了最终的图形。在 Jupyter 笔记本中,这会导致图形内联显示;在脚本中运行时,它会打开一个窗口来显示图形。