问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用python绘制简单条形图?

发布网友 发布时间:2022-04-21 17:58

我来回答

1个回答

热心网友 时间:2023-11-10 17:17

如何用python绘制简单条形图呢?这里离不开matplotlib的使用。
条形图是数据可视化图形中很基础也很常用的一种图,简单解释下:条形图也叫长条图(英语:bar chart),亦称条图(英语:bar graph)、条状图、棒形图、柱状图、条形图表,是一种以长方形的长度为变量的统计图表。长条图用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。长条图亦可横向排列,或用*方式表达。
那么一个普通的条形图是长什么样子的呢?
当!当!当!就是下图的这个样子:
图先亮出来啦,接下来研究这个图是怎么画的吧,先看一下原数据长什么样子:
实际画图的流程和画折线图很相近,只是用到的画图函数不一样,绘制条形图的函数plt.bar():
由于这只是最简单的一个条形图,实际上条形图的函数plt.bar()还有不少可以探索的参数设置,和对折线图函数plt.plot()的探索差不多,有兴趣的孩子可以自己去进行探索哦。
按照条形长短进行排序展示的条形图
当然也可以有其他的设置,比如说上图中的线条高低参差不齐,这是因为x轴的数据是按照学校名称进行排序的,那么可不可以按照分数的高低进行排序呢?也就是让所有的长方形按照从高到矮或者从矮到高的顺序进行排列?
当然可以啦!这里需要强调的是,条的高低排列等信息都是来源于原数据的,要想让条形的顺序发生改变,需要对画图的来源数据进行更改呢!
把原数据逆序排序后截取前十名数据赋值给data_yuwen,作为新的数据源传入画图函数plt.bar(),画出来的图自然就不一样了。
先看一眼数据长什么样子:
根据这个数据源绘制出的图形如下,由于用来画图的数据进行了降序排序操作,所以生成条形图的条也会进行降序排序展示:
很多时候,我们常见的条形图还有另一种展现形式,那就是横向的条形图,比较火的那种动态条形图绝大多数也都是横向的条形图,那么横向的条形图如何绘制呢?
理解plt.bar()主要参数
其实也不难,只要清楚plt.bar()函数中主要参数的作用就可以了!条形图函数中有五个主要参数,分别是x,height,width,bottom,orientation。其中x控制的是每个条在x轴上位置,height控制的是每个条的长度,width控制的是每个条的宽度,bottom控制的是每个条在y轴方向的起始位置,orientation控制的是条形的方向,是纵向还是横向,默认是纵向的。
通过一个小例子理解下这几个参数的作用:
上边的几行代码输出的图形如下:
对比着代码和实际输出的条形图,各个主要参数的作用是不是一目了然啦?
横向条形图
理解了这几个参数作用后,纵向的条形图转换成横向的条形图就没什么难度了!
需要设置所有条形在x轴的位置都为0,也就全部从最左侧开始画条形;由于是横向条形图,所以实际上条的宽度显示的是数据大小,将width参数设置成原数据中的语文成绩;bottom控制每个条在y轴方向的起始位置,设置bottom=range(10)设置每个条形在y轴的起始位置各不相同避免有条形重叠;height控制的是每个条在y轴方向上的长度,条形图横向设置后,在y轴上的长度失去了衡量数据的意义,所以直接设置一个常数即可;最后设置条形的方向为横向,即orientation=“horizontal”。
温馨提示:数据和标签一定要匹配,即plt.bar()重点的数据要和plt.yticks()中提取出来的标签一一对应,一旦不匹配,整个图展现的结果就是一个错误的结果!
上述代码生成的条形图如下:
感觉上边这种生成横向条形图的方式有点点绕,和人们的习惯认知有点不大一样,难道画一个横向条形图就非得转变自己的习惯认知这么*吗?
当然不是的,实际上有更简单的方法绘制一个横向条形图,之所以没有一开始就直接用这种简单的方法,也是为了让大家体会下条形图参数的灵活设置而已,而且如果比较绕的方法都能理解了,简单的方法理解和运用起来就更没有难度了啊!
不卖关子了,我们来认识下和plt.bar()函数类似的plt.barh()函数。
plt.barh()函数是专门绘制水平条形图的函数,主要的参数有:
y 控制y轴显示的标签来源width 控制横向条形的长度,即用来进行对比的数据源height 条形的宽度需要设置的参数主要就是这三个,比用plt.bar()函数绘制水平条形图简单了很多,具体代码如下:
效果图:
和用plt.bar()函数绘制的横向条形图一毛一样对不对?以后有需求绘制横向条形图,尽量用plt.barh()函数吧,毕竟它是专门绘制这种类型图的,简单好用。
然而实际工作中对于条形图的需求不只是这些,比如例子中只是对各个学校语文成绩的展示,有时候需要各个学科的成绩同时展现在一幅条形图中,有时候也需要绘制堆积条形图对各学科的成绩以及总成绩进行展示,这些图又该如何绘制呢?其实只要理解了各个参数的含义,绘制这些图也不在话下,至于具体怎么画,且看下回分解啊!
这个条形图是怎么做的?求具体步骤!!!

一、选择合适的工具 1. 选择一款数据处理软件,如Excel、Python的matplotlib库,或是使用在线的数据可视化工具,如Tableau、FineBI等。二、收集和整理数据 2. 根据需要收集的数据信息,将其整理成适合分析的格式。例如,列出各类别的名称和对应的数值。三、创建条形图 3. 在所选工具中,选择创建条形图的...

如何使用Python绘制常用的统计图表?

绘制直方图:直方图用于展示连续变量的分布。通过将变量划分为若干区间,并统计每个区间的样本数量,最后以条形图的形式展示,其中条形的高度代表样本数量。在Python中,使用matplotlib的hist()函数或seaborn的distplot()函数可以绘制直方图。生成随机数数据后,使用hist()函数绘制直方图。bins参数定义区间数,color...

常见的python画图简单代码

条形图是表示分类数据的常用方式,它将每个类别的值表示为垂直条形。可以根据条形的高度或宽度来比较不同类别的值。matplotlib的bar函数能轻松绘制条形图。折线图用于显示随时间或其他连续变量变化的数值。它们通过连接数据点来显示趋势。matplotlib的plot函数可以绘制折线图。堆积柱形图用于比较不同类别的累计总...

探索Python中的数据可视化利器:Plotly Express

首先,我们需要安装Plotly Express库。可以通过pip命令轻松完成安装:安装后,便可以开始利用Plotly Express进行数据可视化。Plotly Express提供快速绘图功能,能轻松生成各种常见图表。例如,使用鸢尾花数据集(iris)创建一个散点图,通过指定x与y轴数据列并应用color参数分类数据,生成带有不同颜色分类的散点图...

python里同一个横坐标有三个y轴条形图同一个x轴的y轴条

1、在Python中,可以使用Matplotlib库来实现同一个横坐标有三个y轴条形图同一个x轴的y轴条形图。2、在Python中,使用Matplotlib库的`bar()`函数可以绘制同一个横坐标有多个y轴的条形图,通过设置不同的参数调整条形图的对齐方式和大小,同时使用`set_xticks()`和`set_xticklabels()`设置刻度和标签...

 数据可视化 | matplotlib - bar(柱状图)

Matplotlib, 作为一款强大的数据可视化工具,特别擅长于绘制直观的柱状图,适合于学术论文展示和初学者入门。它的bar函数是创建条形图的关键,用于比较各类别间的数据差异。首先,安装matplotlib库是进行可视化的基础。接着,我们可以通过以下Python示例来实现柱状图的绘制:python import matplotlib.pyplot as plt ...

如何使用Python和Plotly绘制3D图形

绘制过程1. 散点图通过三维数据x_data, y_data, z_data,可以创建一个展示数据点分布的散点图。2. 曲面图以函数f(x, y)为例,可以生成该函数在三维空间的表面表示。3. 线框图展示数据连续性的线框图也会被演示。4. 条形图三维条形图用于展示类别间的关系和差异。自定义与互动Plotly支持丰富的...

【Python进阶篇】绘制直方图|Matplotlib|图解+代码实例

接下来,使用plt.style.use()函数设置绘图的风格为白色网格风格。然后,使用plt.hist()函数绘制直方图,传入参数x为要绘制的数据,bins为直方图的个数,facecolor、edgecolor和linewidth分别设置条形的填充颜色、边框颜色和边框宽度。使用n, bins, patches = plt.hist()的返回值可以获取到每个区间的频数、...

条状图如何制作

制作条状图,首先需要准备好数据,并选择合适的图表制作工具或软件,如Excel、Python等,然后按照软件的步骤或代码逻辑进行制作。条状图,也称为条形图,是一种用矩形条来表示数据大小的图表。它非常适合用来比较不同类别之间的数据差异。制作条状图的过程并不复杂,但需要注意一些关键步骤和细节。数据准备是...

python画图显示bar的left

python画图显示bar的left可以通过设置`xticks`参数来实现。具体步骤如下:1、导入Matplotlib库中的`pyplot`模块,并准备好数据和参数。```pythonimportmatplotlib.pyplotaspltleft=[0,1,2,3,4]height=[5,4,3,2,1]width=0.8```2、使用`bar()`函数绘制条形图,并将`xticks`参数设置为`left`列表...

用python绘制条形图 怎样用python绘制柱状图 如何绘制对比条形图 python条形图代码 python条形图间距 python条形统计图 条形图Python word文档怎么绘制条形图 spss绘制对比条形图
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每次文字比较多超出屏幕大小就不知道怎么截屏,求教大佬! 我国政策性 广西明士清医疗器械有限公司怎么样? 广西禾力药业有限公司怎么样? 广西龙母圣商贸有限公司怎么样? 安徽合肥有什么去痔的好地方 我女朋友的谷丙转氨酶过高(达到121),而且两对半检测为阴性,是肝功能有... 泸州丽人女子医院开展科室 自由之子本次世界杯是否将在小组赛中被菜? 世界杯谁会嬴 如何画条形统计图 我的抖音号怎么找回 抖音忘记怎登录的只有抖音号怎么才能找回原来的抖音? 周星驰搞笑电影 周星驰搞笑电影全集 周星驰电影全集高清国语版 周星驰电影全集有哪些 周星驰电影百度云资源,多谢多谢 周星驰电影全集名单 求周星驰 全部电影。 工商银行10万一年定期存款有多少利息 周星驰电影全集列表 周星驰搞笑电影全集国语 周星驰电影全集 我的工行卡有1千万每天能得多少利息 工商银行存款100万定期二年利息多少 周星驰电影全集国语名字 工商银行一千万元人民币三年定期存款利息是多少? 周星驰电影全集国语高清 周星驰电影全集国语高清在... 一千亿人民币,一个月银行利息多少钱啊,我存的工商... 周星驰电影全集(粤语高清中字) 电脑怎么制作条形图 画单式条形统计图要注意些什么 说一说你是怎样画条形统计图的。 绘制条形统计图要注意什么问题? spss如何画条形图 王者荣耀百里守约符文怎么搭配 SPSS软件绘制复式条形图操作方法步骤 如何绘制条形统计图 王者荣耀百里守约铭文搭配攻略 当绘制条形统计图时,一格代表的数据可根据什么确定? 百里守约配什么铭文伤害高 百里守约最新铭文搭配_国服第一百里守约铭文推荐 王者荣耀百里守约要搭配什么铭文比较强 绘制条形统计图的一般步骤是什么 王者荣耀百里守约铭文怎么搭配 百里守约铭 王者荣耀百里守约什么铭文 绘制条形统计图时,一格代表的数据可根据( )确定... 四大名著现代文全集在线阅读。 百里守约铭文怎么搭配 王者荣耀百里守约用什么铭文