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之入门(二)基本数据类型
May 25 Python
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
Python+Django搭建自己的blog网站
Mar 13 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
python实现逆序输出一个数字的示例讲解
Jun 25 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
搞定这套Python爬虫面试题(面试会so easy)
Apr 03 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
Jun 01 Python
详解Python中openpyxl模块基本用法
Feb 23 Python
python基础之模块的导入
python基础之文件操作
python基础之错误和异常处理
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
You might like
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
php限制文件下载速度的代码
2015/10/20 PHP
PHP如何实现跨域
2016/05/30 PHP
浅谈php处理后端&接口访问超时的解决方法
2016/10/29 PHP
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
python 用下标截取字符串的实例
2018/12/25 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
Python 中@property的用法详解
2020/01/15 Python
Python多线程获取返回值代码实例
2020/02/17 Python
Django操作session 的方法
2020/03/09 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
Python常用外部指令执行代码实例
2020/11/05 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
用HTML5制作视频拼图的教程
2015/05/13 HTML / CSS
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
大学生党员个人剖析材料
2014/10/08 职场文书
2015年教师节感言
2015/08/03 职场文书
建议书的格式及范文
2015/09/14 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers