条形图 bar
学生期中成绩和期末成绩如下表
name | Jasmine | Jeff | Nevin | Alejandra | Marta |
---|---|---|---|---|---|
MidtermExam | 73 | 87 | 84 | 81 | 95 |
FinalExam | 78 | 85 | 87 | 95 | 90 |
从表中,我们并不能直接(数据量大的情况下更为明显)的观察出不同成绩的对比.
因此依据表中数据,利用matplotlib
绘制了条形图,如下图:
从图中很容易发现Alejandra进步最大;Marta的期末成绩虽然很高,但是相对于期中成绩并没有发挥的很好;Jeff,Nevin的成绩相对比较稳定;Jasmine的成绩稳健增长(当然两个数据很难得出这样的答案,这里只是举例)等等.
把数据通过可视化的方法呈现出来,可以让我们更直观的观察一些在数字上没有直接发现的东西.
以下代码是绘制条形图的命令
import numpy as np
import matplotlib.pyplot as plt
name = ['Jasmine', 'Jeff', 'Nevin', 'Alejandra', 'Marta']
midterm_exam = (73, 87, 84, 81, 95)
final_exam = (78, 85, 87, 95, 90)
fig, ax = plt.subplots()
index = np.arange(len(name))
bar_width = 0.35
opacity = 0.6
error_config = {'ecolor': '0.3'}
rects1 = ax.bar(index + bar_width / 2, midterm_exam, bar_width,
color='b', alpha=opacity, yerr=3,
error_kw=error_config,
label='midterm_exam')
rects2 = ax.bar(index + 3 * bar_width / 2, final_exam, bar_width,
color='r', alpha=opacity, yerr=3,
error_kw=error_config,
label='final_exam')
ax.set_xlabel('name')
ax.set_ylabel('Score(%)')
ax.set_title('Scores on Midterm and Final Exams')
ax.set_xticks(index + 3 * bar_width / 2)
ax.set_xticklabels(name)
ax.legend(fontsize='x-small', loc='upper left', scatterpoints=1)
plt.show()
博主个人能力有限,错误在所难免.
如发现错误请不要吝啬,发邮件给博主更正内容,在此提前鸣谢.
Email: JentChang@163.com (来信请注明文章标题,如果附带链接就更方便了)