python转行系列4:使用matplotlib绘制柱状图
前言
在统计学中,柱状图也是采用的展示数据的工具。本文讲述使用matplotlib中的bar函数绘制类似学生成绩分布的柱状图。
源码
import matplotlib.pyplot as plt
import numpy as np
def PlotBarTest1():
Num = 5
Values = (10, 70 ,65, 95, 16)
iIndex = np.arange(Num)
p1 = plt.bar(iIndex, Values, width=0.4)
plt.ylabel('Scoles')
plt.show()
if __name__ == "__main__":
PlotBarTest1()
代码解释
- 假设有5名学生,其分数由元组(tuple)Values表示
- 使用numpy模块的arange生成了一个多维(1*5))数组对象(ndarray);
- 函数bar类似plot,用于绘制柱状图,返回一个包含所有柱体的容器Container。官方解释为:
Make a bar plot.
Return:
Container with all the bars and optionally errorbars.
- plt.ylabel函数用于设置Y方向标签;
- plt.show()显示图像;
显示结果
扩展
matplotlib的bar函数还有许多参数,其函数原型如下:
bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
例如,可以设置bottom参数绘制分段柱状图。
def PlotBarTest1():
Num = 5
Values = (10, 70 ,65, 95, 16)
#print(type(Values))
Values2 = (11, 22 ,25, 15, 16)
iIndex = np.arange(Num)
p1 = plt.bar(iIndex, Values, width=0.4)
p2 = plt.bar(iIndex, Values2, bottom=Values, width=0.4)
plt.ylabel('Scoles')
plt.show()
以上代码添加了Value2元组,并增加了一个bar容器,设置bottom为Values。结果显示如下:
总结
无。