Python中怎么利用Matplotlib创建可视化套图
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这期内容当中小编将会给大家带来有关Python中怎么利用Matplotlib创建可视化套图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Matplotlib有一个概
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
关系型数据库软件
淮安游合网络技术公司
易点淘网络技术有限公司招聘
金山区音频led大屏服务器
上海安卓软件开发定做
传奇db数据库需要密码
讯飞软件开发二面通知
安全接入服务器地址在哪找
最高的网络技术
静安区市场软件开发定制要求
网络安全ad
漳州app软件开发定制
装了两个版本的数据库
杭州阿里久久网络技术有限公司
互联网科技公司投资者
软件开发项目策划书
怀柔区技术软件开发创新服务
江西银行软件开发中心官网
硕士论文查重数据库都有哪些
锐捷服务器管理网口怎么用
建筑三维设计软件开发
通保三级通信网络安全防护报价
网络安全大赛奖金很高吗
数据库技术操作题如何做
东莞市迅通网络技术有限公司
网络安全部门年度总结
哪些电脑服务器主机服务可以关掉
浙江商务进口软件代理服务器
软件开发测量与分析计划书
欧亚软件开发专业