Python中怎么利用Matplotlib创建可视化套图
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,这期内容当中小编将会给大家带来有关Python中怎么利用Matplotlib创建可视化套图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Matplotlib有一个概
千家信息网最后更新 2025年02月19日Python中怎么利用Matplotlib创建可视化套图
这期内容当中小编将会给大家带来有关Python中怎么利用Matplotlib创建可视化套图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Matplotlib有一个概念subplot:包含在Figure对象中的小型Axes对象。这允许我们在一幅图中创建很多个子图,方便对比数据。
创建子图的3种常用方法:
fig.add_axes
plt.subplots
plt.GridSpec
import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineplt.style.use("ggplot")
1. fig.add_axes
先调用plt.figure()创建Figure对象,图表是所有坐标的容器。
调用fig.add_axes()在图表的任意位置添加子图,该方法接收一个包含4个数字的列表: $[x, y, width, height]$,分别代表子图左下角的坐标(x,y),子图的宽度和高度,这四个数字的取值范围都是$[0,1]$,代表相对位置和大小。
最后调用ax.plot将数据映射到子图。
# 创建图表对象fig = plt.figure(figsize=(10, 7))# 创建子图ax1 = fig.add_axes([0, 0.5, 0.45, 0.45]) # 在图表的左上角创建一个子图ax2 = fig.add_axes([0.5, 0, 0.45, 0.45]) # 在图表的右下方创建一个子图# 左上角子图:曲线图x1 = np.linspace(-10, 10, 100)ax1.plot(x1, np.sin(x1), color="red")# 右下角子图:柱状图x2 = ["a", "b", "c", "d", "e", "f"]y2 = [1.2, 1.3, 2.5, 0.25, 5, 1.56]ax2.bar(x2, y2, color="blue")
2. plt.subplots
plt.subplots用于快速创建多个子图,这些子图会以网格状排列。函数返回长度为2的元组,第一个元素是Figure对象,第二个元素是坐标集合。
# 创建一个图形对象,拆分为2*3的网格,包含6个坐标对象fig, axes = plt.subplots( nrows=2, # 定义行数 ncols=3, # 定义列数 sharex=True, # 是否共享x轴坐标 sharey=True, # 是否共享y轴坐标 figsize=(10, 7) # 图像大小)# axes是2*3的numpy数组,可根据[row, col]索引获取单个坐标对象# print(type(axes))# print(axes)for i in range(2): for j in range(3): axes[i, j].text(0.5, 0.5, str((i, j)), ha="center", fontsize=15)
3. plt.GridSpec
上面的案例创建了规则排列的子图(网格状),但有时候想创建不规则的子图,部分子图更大,展示核心信息,有的子图较小,展现辅助信息。
plt.GridSpec可实现这一点,工作原理是先创建一个网格状的蓝图,然后合并部分子图(类似于Excel中合并单元格的操作)。
调用plt.GridSpec创建网格状的蓝图
通过切片和索引按需求'合并'子图
调用ax.plot()将数据映射到图表
# 创建图表对象fig = plt.figure(figsize=(10, 7))# 创建2*3的'网格'蓝图grid = plt.GridSpec(nrows=2, ncols=3, figure=fig)# 网格对象可索引和切片,根据网格对象可创建坐标对象for row in range(2): for col in range(3): ax = plt.subplot(grid[row, col]) ax.text(0.5, 0.5, str((row, col)), ha="center", fontsize=15)# 至此的效果跟plt.subplots相同,接下来我们展示如何合并子图
# 创建图表对象fig = plt.figure(figsize=(10, 7))# 创建2*3的'网格'蓝图grid = plt.GridSpec(nrows=2, ncols=3, figure=fig)# 合并子图ax1 = plt.subplot(grid[0, 0])ax2 = plt.subplot(grid[0, 1:]) # 合并(0,1)和(0,2)位置的子图ax3 = plt.subplot(grid[1, 0:2]) # 合并(1,0)和(1,1)位置的子图ax4 = plt.subplot(grid[1, 2])x = np.linspace(0, 10, 30)ax1.plot(x, np.sin(x), "-r")ax2.plot(x, np.cos(x), "-ob")ax3.plot(x, np.sin(x + 10), "-oy")ax4.plot(x, np.cos(x + 10), "-g")
上述就是小编为大家分享的Python中怎么利用Matplotlib创建可视化套图了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
对象
图表
坐标
网格
位置
蓝图
个子
数据
索引
可视化
代表
信息
元素
内容
分子
大小
数字
方法
角子
建子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电子表和不同数据库有什么区别
乡镇网络安全宣传周实施方案
湖北移动网络技术
电脑怎么运行dns服务器
数据库知识手册
软件开发职位年度总结
synology photo重建数据库
哈密市网络安全宣传
podo服务器异常
数据库违反实体完整性怎么报错
关系型数据库性能比较
申请网络安全经费报告
如何选择软件数据库
湖南天天向上 网络技术
网络安全部门投诉方法
南自华盾网络安全
linux数据库都是有哪些
江苏大胖兔软件开发有限公司
关系数据库模式设计
虚拟云桌面服务器能监控哪些指标
网络安全的评语
软件开发公司工作计划
网络安全da sai
西城区一站式网络技术诚信推荐
查询服务器磁盘空间
软件开发android技术
软件开发阶段信息报道
美国保护网络安全吗
微信云开发数据库怎么存图片
江苏大胖兔软件开发有限公司