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编程中的包结构
Oct 25 Python
Python数据库的连接实现方法与注意事项
Feb 27 Python
Python读取一个目录下所有目录和文件的方法
Jul 15 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
python随机生成库faker库api实例详解
Nov 28 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
python Shapely使用指南详解
Feb 18 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
May 24 Python
python redis存入字典序列化存储教程
Jul 16 Python
python 5个顶级异步框架推荐
Sep 09 Python
关于 Python json中load和loads区别
Nov 07 Python
python基础之模块的导入
python基础之文件操作
python基础之错误和异常处理
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
You might like
yii框架builder、update、delete使用方法
2014/04/30 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
php include类文件超时问题处理
2015/02/06 PHP
8个必备的PHP功能开发
2015/10/02 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
Python实现字典去除重复的方法示例
2017/07/31 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
美国家具网站:Cymax
2016/09/17 全球购物
英国女士家居服网站:hush
2017/08/09 全球购物
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
会计毕业生自我鉴定
2013/11/04 职场文书
会计系中文个人求职信
2013/12/24 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
辛亥革命观后感
2015/06/02 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
python基础入门之普通操作与函数(三)
2021/06/13 Python
Docker部署Mysql8的实现步骤
2022/07/07 Servers