Python数据分析入门(七):绘制条形图
条形图的绘制方式跟折线图非常的类似,只不过是换成了plt.bar
方法。plt.bar
方法有以下常用参数:
x
:一个数组或者列表,代表需要绘制的条形图的x轴的坐标点。height
:一个数组或者列表,代表需要绘制的条形图y轴的坐标点。width
:每一个条形图的宽度,默认是0.8的宽度。bottom
:y
轴的基线,默认是0,也就是距离底部为0.align
:对齐方式,默认是center
,也就是跟指定的x
坐标居中对齐,还有为edge
,靠边对齐,具体靠右边还是靠左边,看width
的正负。color
:条形图的颜色。
返回值为BarContainer
,是一个存储了条形图的容器,而条形图实际上的类型是matplotlib.patches.Rectangle
对象。
更多参考:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.bar.html#matplotlib.pyplot.bar
条形图的绘制:
比如现在有2019
年贺岁片票房的数据(数据来源:https://piaofang.maoyan.com/dashboard)
用条形图绘制每部电影及其票房的代码如下:
效果图如下:

其中xticks
和yticks
的用法跟之前的折线图一样。这里新出现的方法是bar
,bar
常用的有3个参数,分别是x
(x轴的坐标点),y
(y轴的坐标点)以及width
(条形的宽度)。
横向条形图:
横向条形图需要使用plt.barh
这个方法跟bar
非常的类似,只不过把方向进行旋转。参数跟bar
类似,但也有区别。如下:
y
:数组或列表,代表需要绘制的条形图在y
轴上的坐标点。width
:数组或列表,代表需要绘制的条形图在x
轴上的值(也就是长度)。height
:条形图的高度,默认是0.8。left
:条形图的基线,也就是距离y轴的距离。其他参数跟
bar
一样。
返回值也是BarContainer
容器对象。
还是以以上数据为例,将电影名和票房反转一下。示例代码如下:
效果图如下:

分组条形图:
现在有一组数据,是2019年春节贺岁片前五天的电影票房记录。 示例代码如下:
示例图如下:

堆叠条形图:
堆叠条形图,是将一组相关的条形图堆叠在一起进行比较的条形图。比如以下案例:
效果图如下:

在绘制女性得分的条形图的时候,因为要堆叠在男性得分的条形图上,所以使用到了一个bottom
参数,就是距离x
轴的距离。通过对贴条形图,我们就可以清楚的知道,哪一个队伍的综合排名是最高的,并且在每个队伍中男女的得分情况。
条形图应用场景:
数量统计。
频率统计。