从零开始学matplotlib画图(四): 并列柱状图

本文通过小明20次月考成绩的例子,详细介绍了如何使用Python的matplotlib库绘制并列柱状图,展示了不同科目成绩的趋势,并利用axhline()方法添加参考线以比较成绩与平均值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

堆积柱状图有堆积柱状图的好处,比如说我们可以很方便地看到多分类总和的趋势。

但是我们发现,在堆积柱状图中,由于基底位置的不同,我们并不能很轻易地弄清楚上方分类的数据的变化趋势。

因此当分类不是特别多,且我们对于总量趋势的重视程度不如各分类的时候,我们就可以考虑使用并列柱状图,这也是一种非常常见的图形。

跟上次一样,我们拿小明20次月考的语数外三门科目的成绩来演示并列柱状图。


欢迎大家关注我的个人博客【数洞】 【备用站】

import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.linspace(1, 21, 20)
y1 = np.random.randint(70, 90, 20)  # 语文成绩
y2 = np.random.randint(80, 100, 20) # 数学成绩
y3 = np.random.randint(60, 80, 20)  # 英语成绩

# 画图
plt.figure(figsize=(20, 10))
# 语文
plt.bar(x, y1,
        width = 0.25,
        color = 'c',
        align = 'center',
        label = '语文',
        alpha = 0.5
       )
# 数学
plt.bar(x+0.25, y2,
        width = 0.25,
        color = 'r',
        align = 'center',
        label = '数学',
        alpha = 0.5
       )
# 英语
plt.bar(x+0.5, y3,
        width = 0.25,
        color = 'b',
        align = 'center',
        label = '英语',
        alpha = 0.5
       )

# 添加三门科目成绩的均值参考线
# 语文
plt.axhline(y = np.mean(y1),
           c = 'c',
           ls = '--',
           lw = 2, 
           alpha = 0.6)
# 数学
plt.axhline(y = np.mean(y2),
           c = 'r',
           ls = '--',
           lw = 2, 
           alpha = 0.6)
# 英语
plt.axhline(y = np.mean(y3),
           c = 'b',
           ls = '--',
           lw = 2, 
           alpha = 0.6)
# 及格线
plt.axhline(y = 60,
           c = 'gray',
           ls = '--',
           lw = 2, 
           alpha = 0.6)


# 图例
plt.legend(loc = 'upper right')

# 标题
plt.title('小明20次月考成绩趋势图')

可以看到,小明有些偏科,数学成绩明显好于另外两科,同时英语成绩基本上是最差的,只怕到了大学,小明就是一个标准的理工男……

我们在这里使用了第一节里提到的axhline()方法来添加参考线,这样我们就能清晰地知道小明每次考试不同科目相比于均值来说是高了还是低了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量化祛魅官 老Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值