柱状图(bar chart),是一种以长方形的长度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。柱状图亦可横向排列,或用多维方式表达。
柱状图是大家最为熟悉的一类图表了,在咱们的平常工作中也是使用频率非常高的一种统计图形哦。
绘制柱状图
绘制柱状图,可分为准备数据、绘制图表和展示图表三个步骤。
准备数据
柱状图是一种通过柱子高度反应数据大小的图表。
x轴和y轴的数据需要一一对应,存放在列表中
绘制图表
pyplot.bar(x轴数据, y轴数据, width=0.4, color=’pink’)
绘制柱状图,需要使用pyplot模块中的bar()函数
展示图表
pyplot.show()
代码示例
输入样例:
from matplotlib import pyplot
pyplot.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'simhei']
names = ['禾木', '桃子', '乌拉乎', '麦杰', '麦琪']
points = ['35', '35', '23', '32', '27']
pyplot.bar(names, points, width=0.4, color='purple')
pyplot.title('战斗力统计图')
pyplot.xlabel('姓名')
pyplot.ylabel('战力值')
pyplot.show()
输出样例
复式柱状图
为了进行数据对比而将多组柱子绘制在一张图中的柱状图,就叫做复式柱状图。
绘制复式柱状图
绘制复式柱状图,需要注意:
- 计算出每组柱子的x轴坐标
- 将bar()函数的第1个参数设为x轴坐标列表
- 使用legend()函数添加图例
- 使用xticks()函数修改x轴显示内容
输入样例:
from matplotlib import pyplot
pyplot.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'simhei']
enemy = ['龙威', '龙心', '龙灵', '龙仁', '龙尔']
hemu = ['90', '90', '80', '80', '40']
taozi = ['80', '80', '70', '100', '85']
c = [1, 2, 3, 4, 5]
c1 =[i - 0.2 for i in c] //计算出每组柱子的x轴坐标
c2 =[i + 0.2 for i in c]
pyplot.bar(c1, hemu, width=0.4, color='skyblue')
pyplot.bar(c2, hemu, width=0.4, color='pink')
pyplot.title('战绩统计图')
pyplot.xlabel('智能核星人')
pyplot.ylabel('战胜次数')
pyplot.legend(['禾木', '桃子']) //使用legend()函数添加图例
pyplot.xticks(c, enemy) //使用xticks()函数修改x轴显示内容
pyplot.show()
输出样例:
xticks()函数
作用:
绘制复式柱状图时,用来修改x轴显示的内容
用法:
pyplot.xticks( 列表1,列表2 )
列表1:x轴坐标。
列表2:坐标对应位置要显示的内容。
代码样例:
c = [1, 2, 3, 4, 5]
enemy = ['龙威', '龙心', '龙灵', '龙仁', '龙尔']
pyplot.xticks(c, enemy)
输出样例: