刚刚入门一丢丢的matplotlib,作为简单的数据统计可视化还是很方便的,闲话不多说,直接上代码:
# -*- coding:utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
#以上,导入必需的模块
plt.xlabel('Student')#设置x轴标签
plt.ylabel('Score')#设置y轴标签
plt.title('Grades of students')#设置图表标题
group_labels = ['Lisa', 'Gary', 'Leonard']#设置x轴刻度为特定文本
x = [20,40,60]#设置x轴初始(主)刻度
x1 = [18.5, 38.5, 58.5]#双柱直方图的柱一
x2 = [21.5, 41.5, 61.5]#双柱直方图的柱二
y1=[3242,4273,626]#柱一的高度
y2=[2738,3818,442]#柱二的高度
plt.bar(x1, y1, facecolor='red', width=3, label = 'last term')
plt.bar(x2, y2, facecolor='blue', width=3, label = 'this term')
plt.xticks(x, group_labels, rotation=8)#将x轴刻度替换为特定文本
plt.legend()#显示图例
plt.show()
运行结果:
小结:
其实簇状图的技巧就是把两个柱子合二为一,设置每根柱子的x值为(主刻度值±柱宽的二分之一)。
初步尝试之前各位大神推荐的matplotlib,确实很好上手,我也只是用了最基本的几个功能(据说可以画出玫瑰花orz)。
当然,学以致用是最主要的目的,之后需要了解的是如何让图表变得更漂亮~~ 例如:显示实际数值,以及处理更丰富的数据。