Python如何绘制柱状图


柱状图(bar chart),是一种以长方形的长度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。柱状图亦可横向排列,或用多维方式表达。

柱状图是大家最为熟悉的一类图表了,在咱们的平常工作中也是使用频率非常高的一种统计图形哦。

绘制柱状图

绘制柱状图,可分为准备数据、绘制图表和展示图表三个步骤。

准备数据

柱状图是一种通过柱子高度反应数据大小的图表。
x轴和y轴的数据需要一一对应,存放在列表中

绘制图表

pyplot.bar(x轴数据, y轴数据, width=0.4, color=’pink’)

绘制柱状图,需要使用pyplot模块中的bar()函数

展示图表

pyplot.show()

代码示例

输入样例:

py

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()

输出样例
Python如何绘制柱状图

复式柱状图

为了进行数据对比而将多组柱子绘制在一张图中的柱状图,就叫做复式柱状图。

绘制复式柱状图

绘制复式柱状图,需要注意:

  1. 计算出每组柱子的x轴坐标
  2. 将bar()函数的第1个参数设为x轴坐标列表
  3. 使用legend()函数添加图例
  4. 使用xticks()函数修改x轴显示内容

输入样例:

py

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()

输出样例:
Python如何绘制柱状图

xticks()函数

作用:
绘制复式柱状图时,用来修改x轴显示的内容

用法:

pyplot.xticks( 列表1,列表2 )

列表1:x轴坐标。
列表2:坐标对应位置要显示的内容。

代码样例:

py

c = [1, 2, 3, 4, 5]
enemy = ['龙威', '龙心', '龙灵', '龙仁', '龙尔']
pyplot.xticks(c, enemy)

输出样例:
Python如何绘制柱状图

写于2022年9月8日
没有伞的孩子,必须学会努力奔跑。

赞助 点赞 2 unread messages

just4fun等人对本文发表了2条热情洋溢的评论。
  • just4fun说道: 0
    不是xlable 是 xlabel
    1. 老王说道:
      回复 just4fun: 谢谢指正,已改正!感谢!☕☕☕
  • 发表回复

    您的电子邮箱地址不会被公开。