京公网安备 11010802034615号
经营许可证编号:京B2-20210330
如何用python绘制简单条形图呢?这里离不开matplotlib的使用。
条形图是数据可视化图形中很基础也很常用的一种图,简单解释下:条形图也叫长条图(英语:bar chart),亦称条图(英语:bar graph)、条状图、棒形图、柱状图、条形图表,是一种以长方形的长度为变量的统计图表。长条图用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。长条图亦可横向排列,或用多维方式表达。
那么一个普通的条形图是长什么样子的呢?
当!当!当!就是下图的这个样子:
图先亮出来啦,接下来研究这个图是怎么画的吧,先看一下原数据长什么样子:
实际画图的流程和画折线图很相近,只是用到的画图函数不一样,绘制条形图的函数plt.bar():
由于这只是最简单的一个条形图,实际上条形图的函数plt.bar()还有不少可以探索的参数设置,和对折线图函数plt.plot()的探索差不多,有兴趣的孩子可以自己去进行探索哦。
当然也可以有其他的设置,比如说上图中的线条高低参差不齐,这是因为x轴的数据是按照学校名称进行排序的,那么可不可以按照分数的高低进行排序呢?也就是让所有的长方形按照从高到矮或者从矮到高的顺序进行排列?
当然可以啦!这里需要强调的是,条的高低排列等信息都是来源于原数据的,要想让条形的顺序发生改变,需要对画图的来源数据进行更改呢!
把原数据逆序排序后截取前十名数据赋值给data_yuwen,作为新的数据源传入画图函数plt.bar(),画出来的图自然就不一样了。
先看一眼数据长什么样子:
根据这个数据源绘制出的图形如下,由于用来画图的数据进行了降序排序操作,所以生成条形图的条也会进行降序排序展示:
很多时候,我们常见的条形图还有另一种展现形式,那就是横向的条形图,比较火的那种动态条形图绝大多数也都是横向的条形图,那么横向的条形图如何绘制呢?
其实也不难,只要清楚plt.bar()函数中主要参数的作用就可以了!条形图函数中有五个主要参数,分别是x,height,width,bottom,orientation。其中x控制的是每个条在x轴上位置,height控制的是每个条的长度,width控制的是每个条的宽度,bottom控制的是每个条在y轴方向的起始位置,orientation控制的是条形的方向,是纵向还是横向,默认是纵向的。
通过一个小例子理解下这几个参数的作用:
上边的几行代码输出的图形如下:
对比着代码和实际输出的条形图,各个主要参数的作用是不是一目了然啦?
理解了这几个参数作用后,纵向的条形图转换成横向的条形图就没什么难度了!
温馨提示:数据和标签一定要匹配,即plt.bar()重点的数据要和plt.yticks()中提取出来的标签一一对应,一旦不匹配,整个图展现的结果就是一个错误的结果!
上述代码生成的条形图如下:
感觉上边这种生成横向条形图的方式有点点绕,和人们的习惯认知有点不大一样,难道画一个横向条形图就非得转变自己的习惯认知这么反人类吗?
当然不是的,实际上有更简单的方法绘制一个横向条形图,之所以没有一开始就直接用这种简单的方法,也是为了让大家体会下条形图参数的灵活设置而已,而且如果比较绕的方法都能理解了,简单的方法理解和运用起来就更没有难度了啊!
不卖关子了,我们来认识下和plt.bar()函数类似的plt.barh()函数。
plt.barh()函数是专门绘制水平条形图的函数,主要的参数有:
效果图:
和用plt.bar()函数绘制的横向条形图一毛一样对不对?以后有需求绘制横向条形图,尽量用plt.barh()函数吧,毕竟它是专门绘制这种类型图的,简单好用。
然而实际工作中对于条形图的需求不只是这些,比如例子中只是对各个学校语文成绩的展示,有时候需要各个学科的成绩同时展现在一幅条形图中,有时候也需要绘制堆积条形图对各学科的成绩以及总成绩进行展示,这些图又该如何绘制呢?其实只要理解了各个参数的含义,绘制这些图也不在话下,至于具体怎么画,且看下回分解啊!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
数据分析的核心价值在于用数据驱动决策,而指标作为数据的“载体”,其选取的合理性直接决定分析结果的有效性。选对指标能精准定 ...
2026-01-23在MySQL查询编写中,我们习惯按“SELECT → FROM → WHERE → ORDER BY”的语法顺序组织语句,直觉上认为代码顺序即执行顺序。但 ...
2026-01-23数字化转型已从企业“可选项”升级为“必答题”,其核心本质是通过数据驱动业务重构、流程优化与模式创新,实现从传统运营向智能 ...
2026-01-23CDA持证人已遍布在世界范围各行各业,包括世界500强企业、顶尖科技独角兽、大型金融机构、国企事业单位、国家行政机关等等,“CDA数据分析师”人才队伍遵守着CDA职业道德准则,发挥着专业技能,已成为支撑科技发展的核心力量。 ...
2026-01-22在数字化时代,企业积累的海量数据如同散落的珍珠,而数据模型就是串联这些珍珠的线——它并非简单的数据集合,而是对现实业务场 ...
2026-01-22在数字化运营场景中,用户每一次点击、浏览、交互都构成了行为轨迹,这些轨迹交织成海量的用户行为路径。但并非所有路径都具备业 ...
2026-01-22在数字化时代,企业数据资产的价值持续攀升,数据安全已从“合规底线”升级为“生存红线”。企业数据安全管理方法论以“战略引领 ...
2026-01-22在SQL数据分析与业务查询中,日期数据是高频处理对象——订单创建时间、用户注册日期、数据统计周期等场景,都需对日期进行格式 ...
2026-01-21在实际业务数据分析中,单一数据表往往无法满足需求——用户信息存储在用户表、消费记录在订单表、商品详情在商品表,想要挖掘“ ...
2026-01-21在数字化转型浪潮中,企业数据已从“辅助资源”升级为“核心资产”,而高效的数据管理则是释放数据价值的前提。企业数据管理方法 ...
2026-01-21在数字化商业环境中,数据已成为企业优化运营、抢占市场、规避风险的核心资产。但商业数据分析绝非“堆砌数据、生成报表”的简单 ...
2026-01-20定量报告的核心价值是传递数据洞察,但密密麻麻的表格、复杂的计算公式、晦涩的数值罗列,往往让读者望而却步,导致核心信息被淹 ...
2026-01-20在CDA(Certified Data Analyst)数据分析师的工作场景中,“精准分类与回归预测”是高频核心需求——比如预测用户是否流失、判 ...
2026-01-20在建筑工程造价工作中,清单汇总分类是核心环节之一,尤其是针对楼梯、楼梯间这类包含多个分项工程(如混凝土浇筑、钢筋制作、扶 ...
2026-01-19数据清洗是数据分析的“前置必修课”,其核心目标是剔除无效信息、修正错误数据,让原始数据具备准确性、一致性与可用性。在实际 ...
2026-01-19在CDA(Certified Data Analyst)数据分析师的日常工作中,常面临“无标签高维数据难以归类、群体规律模糊”的痛点——比如海量 ...
2026-01-19在数据仓库与数据分析体系中,维度表与事实表是构建结构化数据模型的核心组件,二者如同“骨架”与“血肉”,协同支撑起各类业务 ...
2026-01-16在游戏行业“存量竞争”的当下,玩家留存率直接决定游戏的生命周期与商业价值。一款游戏即便拥有出色的画面与玩法,若无法精准识 ...
2026-01-16为配合CDA考试中心的 2025 版 CDA Level III 认证新大纲落地,CDA 网校正式推出新大纲更新后的第一套官方模拟题。该模拟题严格遵 ...
2026-01-16在数据驱动决策的时代,数据分析已成为企业运营、产品优化、业务增长的核心工具。但实际工作中,很多数据分析项目看似流程完整, ...
2026-01-15