Python Matplotlib绘制条形图的全过程


Posted in Python onOctober 24, 2021

条形图

条形图具有丰富的表现形式,常见的类型包括单组条形图,多组条形图,堆积条形图和对称条形图等。

单组条形图

条形图的每种表现形式都可以绘制成垂直条形图或水平条形图,以单组条形图的两种绘制方式为例。

垂直条形图

import matplotlib.pyplot as plt
data = [10., 20., 5., 15.]
plt.bar(range(len(data)), data)
plt.show()

Python Matplotlib绘制条形图的全过程

Tips:plt.plot()函数的作用是:接收两个参数,包括每个条形的x坐标和每个条行的高度。

通过可选参数width,pyplot.bar()提供了一种控制条形图中条状宽度的方法:

import matplotlib.pyplot as plt
data = [10., 20., 5., 15.]
plt.bar(range(len(data)), data, width=0.5)
plt.show()

Python Matplotlib绘制条形图的全过程

水平条形图

如果更喜欢水平条形外观,就可以使用plt.barh()函数,在用法方面与plt.bar()基本相同,但是修改条形宽度(或者在水平条形图中应该称为高度)的参数需要使用height:

import matplotlib.pyplot as plt
data = [10., 20., 5., 15.]
plt.barh(range(len(data)), data, height=0.5)
plt.show()

Python Matplotlib绘制条形图的全过程

多组条形图

当需要比较不同年份相应季度的销量等此类需求时,我们可能需要多组条形图。

import numpy as np
import matplotlib.pyplot as plt
data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]]
x = np.arange(4)
plt.bar(x + 0.00, data[0], color = 'b', width = 0.25)
plt.bar(x + 0.25, data[1], color = 'g', width = 0.25)
plt.bar(x + 0.50, data[2], color = 'r', width = 0.25)
plt.show()

Python Matplotlib绘制条形图的全过程

堆积条形图

通过使用plt.bar()函数中的可选参数,可以绘制堆积条形图。

import matplotlib.pyplot as plt
y_1 = [3., 25., 45., 22.]
y_2 = [6., 25., 50., 25.]
x = range(4)
plt.bar(x, y_1, color = 'b')
plt.bar(x, y_2, color = 'r', bottom = y_1)
plt.show()

Python Matplotlib绘制条形图的全过程

Tips:plt.bar()函数的可选参数bottom允许指定条形图的起始值。

可以结合for循环,利用延迟呈现机制堆叠更多的条形:

import numpy as np
import matplotlib.pyplot as plt
data = np.array([[5., 30., 45., 22.], [5., 25., 50., 20.], [1., 2., 1., 1.]])
x = np.arange(data.shape[1])
for i in range(data.shape[0]):
    plt.bar(x, data[i], bottom = np.sum(data[:i], axis = 0))
plt.show()

Python Matplotlib绘制条形图的全过程

对称条形图

一个简单且有用的技巧是对称绘制两个条形图。例如想要绘制不同年龄段的男性与女性数量的对比:

import numpy as np
import matplotlib.pyplot as plt
w_pop = np.array([5., 30., 45., 22.])
m_pop = np.array( [5., 25., 50., 20.])
x = np.arange(4)
plt.barh(x, w_pop)
plt.barh(x, -m_pop)
plt.show()

Python Matplotlib绘制条形图的全过程

图中女性人口的条形图照常绘制。然而,男性人口的条形图的条形图的条形图向左延伸,而不是向右延伸。可以使用数据的负值来快速实现对称条形图的绘制。

总结

到此这篇关于Python Matplotlib绘制条形图的文章就介绍到这了,更多相关Python Matplotlib绘制条形图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python模拟登陆阿里妈妈生成商品推广链接
Apr 03 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
Mar 05 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
Aug 10 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
python语言实现贪吃蛇游戏
Nov 13 Python
python上下文管理器异常问题解决方法
Feb 07 Python
python基础之模块的导入
python基础之文件操作
python基础之错误和异常处理
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
You might like
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
php中namespace use用法实例分析
2016/01/22 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
python操作excel的方法
2018/08/16 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
Python3爬楼梯算法示例
2019/03/04 Python
python socket 聊天室实例代码详解
2019/11/14 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
会计实习生自我鉴定
2013/12/12 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
教师理论学习心得体会
2016/01/21 职场文书
中学语文教学反思
2016/02/16 职场文书