Python中怎么利用Matplotlib创建可视化套图
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这期内容当中小编将会给大家带来有关Python中怎么利用Matplotlib创建可视化套图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Matplotlib有一个概
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
excel服务器2006
cc域名服务器
mec服务器
站群服务器就要用科捷10
龙之谷2没有推荐服务器怎么办
上海网络技术股份股票
万方数据库的导出功能
阿里云esc服务器怎么搭建网站
网络安全法中并没有提到
苹果手机清数据库
华为网络技术架构
小软件开发用什么条件
香港网络安全公司
国内有哪些数据库技术
计算机网络技术主要任务
光猫isp服务器连接不到地址
软件开发用户需求规格说明书
网络安全周知识答题卡情况汇报
账号同花顺数据库
数据库设计步骤er模型
安卓一体机 服务器
滁州金融软件开发公司
广州八爪鱼网络技术有限公司
网络安全5g概念
博瑞软件开发有限公司
超云服务器管理口ip
特朗普宣布将组建网络安全企业家
游戏服务器程序
怎样看数据库表的字段设置
为了 制定网络安全法