先看一眼数据长什么样子:
根据这个数据源绘制出的图形如下 , 由于用来画图的数据进行了降序排序操作,所以生成条形图的条也会进行降序排序展示:
很多时候,我们常见的条形图还有另一种展现形式 , 那就是横向的条形图,比较火的那种动态条形图绝大多数也都是横向的条形图,那么横向的条形图如何绘制呢?
理解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()函数绘制水平条形图简单了很多,具体代码如下:
【bar函数python bar函数bottom】效果图:
和用plt.bar()函数绘制的横向条形图一毛一样对不对?以后有需求绘制横向条形图,尽量用plt.barh()函数吧,毕竟它是专门绘制这种类型图的,简单好用 。
然而实际工作中对于条形图的需求不只是这些,比如例子中只是对各个学校语文成绩的展示,有时候需要各个学科的成绩同时展现在一幅条形图中,有时候也需要绘制堆积条形图对各学科的成绩以及总成绩进行展示,这些图又该如何绘制呢?其实只要理解了各个参数的含义,绘制这些图也不在话下 , 至于具体怎么画,且看下回分解?。?
bar函数python的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于bar函数bottom、bar函数python的信息别忘了在本站进行查找喔 。
推荐阅读
- 视频号直播采集ipad,视频号直播采集窗口是黑色的
- sqlserver选中前一行数据,sqlyog选中一行快捷键
- os系统中打开python,python os 打开文件夹
- windows8自动代理设置,win10自动设置代理有什么用
- c语言函数返回值是数对 c语言中函数返回值类型是由什么决定的
- 西瓜视频为什么老崩溃,西瓜视频为什么总是停止播放
- postgresql服务器返回的简单介绍
- ppt怎么导入备注图片,ppt怎么导入备注图片里
- MySQL学号怎么表示 mysql创建学号姓名数据库