python数据可视化工具 ----matplotlib,绘制组合柱状图

什么是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()

实现过程解释

  1. from matplotlib import pyplot as plt: 这行代码导入了 Matplotlib 库中的 pyplot 模块,并给它起了一个别名 plt,这是使用 Matplotlib 时的常见约定。

  2. fig, ax1 = plt.subplots(1, 1, figsize=(4, 4)): 这行代码创建了一个图形对象 fig 和一个子图轴对象 ax1。参数 1, 1 表示图形中只有一个子图,figsize=(4, 4) 设置了子图的大小为 4x4 英寸。

  3. plt.bar([1, 2], [2, 3], 0.2, 0, align='center'): 这行代码绘制了第一组柱状图。[1, 2] 是 x 轴的位置,[2, 3] 是每个柱子的高度,0.2 是柱子的宽度,0 是柱子的 y 轴起始位置,align='center' 表示柱子在指定的 x 轴位置上居中对齐。

  4. 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"): 这两行代码在柱状图上方添加文本标签。xy 参数指定了文本的位置,s 参数是字符串内容,ha="center"va="center" 分别设置水平和垂直对齐方式为居中。

  5. plt.bar([1, 2], [3, 2], 0.2, [2, 3], align='center'): 这行代码绘制了第二组柱状图,它叠加在第一组柱状图之上。[2, 3] 是每个柱子的 y 轴起始位置,表示第二组柱子的底部应该与第一组柱子的顶部对齐。

  6. 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 调用类似。

  7. plt.xticks([1, 2], ['A', 'B']): 这行代码设置了 x 轴的刻度位置和标签。[1, 2] 是刻度位置,['A', 'B'] 是对应的标签。

  8. plt.legend(['A', 'B']): 这行代码添加了一个图例,['A', 'B'] 是图例中的条目。

  9. plt.show(): 这行代码显示了最终的图形。在 Jupyter 笔记本中,这会导致图形内联显示;在脚本中运行时,它会打开一个窗口来显示图形。

结果 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值