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聚类算法之凝聚层次聚类实例分析
Nov 20 Python
详解Python中的变量及其命名和打印
Mar 11 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
Python探索之ModelForm代码详解
Oct 26 Python
python负载均衡的简单实现方法
Feb 04 Python
pyspark 读取csv文件创建DataFrame的两种方法
Jun 07 Python
python保存文件方法小结
Jul 27 Python
Django JWT Token RestfulAPI用户认证详解
Jan 23 Python
python使用tkinter库实现五子棋游戏
Jun 18 Python
python time()的实例用法
Nov 03 Python
运行python提示no module named sklearn的解决方法
Nov 29 Python
python基础之模块的导入
python基础之文件操作
python基础之错误和异常处理
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
Python干货实战之八音符酱小游戏全过程详解
You might like
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
深入理解node.js之path模块
2017/05/03 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
vue多次循环操作示例
2019/02/08 Javascript
vue实现侧边栏导航效果
2019/10/21 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
Django用户身份验证完成示例代码
2020/04/03 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
销售实习自我鉴定
2013/12/07 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
课改心得体会范文
2016/01/25 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
php去除deprecated的实例方法
2021/11/17 PHP
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers