Python|Python Matplotlib绘制条形图的全过程
目录
- 条形图
- 单组条形图
- 水平条形图
- 多组条形图
- 堆积条形图
- 对称条形图
- 总结
条形图
条形图具有丰富的表现形式,常见的类型包括单组条形图,多组条形图,堆积条形图和对称条形图等。
单组条形图
条形图的每种表现形式都可以绘制成垂直条形图或水平条形图,以单组条形图的两种绘制方式为例。
垂直条形图
import matplotlib.pyplot as pltdata = https://www.it610.com/article/[10., 20., 5., 15.]plt.bar(range(len(data)), data)plt.show()
文章图片
Tips:plt.plot()函数的作用是:接收两个参数,包括每个条形的x坐标和每个条行的高度。
通过可选参数width,pyplot.bar()提供了一种控制条形图中条状宽度的方法:
import matplotlib.pyplot as pltdata = https://www.it610.com/article/[10., 20., 5., 15.]plt.bar(range(len(data)), data, width=0.5)plt.show()
文章图片
水平条形图
如果更喜欢水平条形外观,就可以使用plt.barh()函数,在用法方面与plt.bar()基本相同,但是修改条形宽度(或者在水平条形图中应该称为高度)的参数需要使用height:
import matplotlib.pyplot as pltdata = https://www.it610.com/article/[10., 20., 5., 15.]plt.barh(range(len(data)), data, height=0.5)plt.show()
文章图片
多组条形图
当需要比较不同年份相应季度的销量等此类需求时,我们可能需要多组条形图。
import numpy as npimport matplotlib.pyplot as pltdata = https://www.it610.com/article/[[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()
文章图片
堆积条形图
通过使用plt.bar()函数中的可选参数,可以绘制堆积条形图。
import matplotlib.pyplot as plty_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()
文章图片
Tips:plt.bar()函数的可选参数bottom允许指定条形图的起始值。
可以结合for循环,利用延迟呈现机制堆叠更多的条形:
import numpy as npimport matplotlib.pyplot as pltdata = https://www.it610.com/article/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()
文章图片
对称条形图
一个简单且有用的技巧是对称绘制两个条形图。例如想要绘制不同年龄段的男性与女性数量的对比:
import numpy as npimport matplotlib.pyplot as pltw_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|Python Matplotlib绘制条形图的全过程】到此这篇关于Python Matplotlib绘制条形图的文章就介绍到这了,更多相关Python Matplotlib绘制条形图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Python数据分析(一)(Matplotlib使用)
- Python|Python 9.20