对比着代码和实际输出的条形图,各个主要参数的作用是不是一目了然啦?
横向条形图
理解了这几个参数作用后 , 纵向的条形图转换成横向的条形图就没什么难度了!
需要设置所有条形在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()函数吧,毕竟它是专门绘制这种类型图的,简单好用 。
然而实际工作中对于条形图的需求不只是这些,比如例子中只是对各个学校语文成绩的展示,有时候需要各个学科的成绩同时展现在一幅条形图中 , 有时候也需要绘制堆积条形图对各学科的成绩以及总成绩进行展示,这些图又该如何绘制呢?其实只要理解了各个参数的含义,绘制这些图也不在话下,至于具体怎么画 , 且看下回分解?。?
Python matplotlib之函数图像绘制、线条rc参数设置为避免中文显示出错python线条函数,需导入matplotlib.pylab库
1.2.1 确定数据
1.2.2 创建画布
1.2.3 添加标题
1.2.4 添加x,y轴名称
1.2.5 添加x,y轴范围
1.2.6 添加x,y轴刻度
1.2.7 绘制曲线、图例, 并保存图片
保存图片时 , dpi为清晰度,数值越高越清晰 。请注意,函数结尾处,必须加plt.show(),不然图像不显示 。
绘制流程与绘制不含子图的图像一致,只需注意一点python线条函数:创建画布 。
合理调整figsize、dpi , 可避免出现第一幅图横轴名称与第二幅图标题相互遮盖的现象.
2.2.1 rc参数类型
2.2.2 方法1python线条函数:使用rcParams设置
2.2.3 方法2:plot内设置
2.2.4 方法3:plot内简化设置
方法2中,线条形状,linestyle可简写为lspython线条函数;线条宽度,linewidth可简写为lw;线条颜色 , color可简写为c,等等 。
python之pyplot 1、 定义x和y,画图展示,保存图片
其中dpi参数指定图像的分辨率为120
推荐阅读
- 钉钉看直播是怎么开麦,钉钉直播开麦在哪
- jquerypromise源码,jquery源码是什么水平
- 幼儿游戏角色扮演试讲视频,幼儿游戏角色扮演试讲视频教程
- linux下sync命令,linux的sync账户
- mysql怎么将一行拆分 一行怎么拆分多行
- pg数据库replace连用,pg数据库连接
- ecs虚拟主机,ecs 虚拟主机
- 探索无人村直播中,搜索无人村
- python程序主函数 python主函数调用子函数变量