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安全错误
数据库的锁怎样保障安全
ps5生化危机8连接服务器失败
地下城的新服务器在哪
家庭网络安全形势分析
义马软件开发价格实惠
政府网络情报信息数据库
网络安全试题海南大学
部队手机网络安全动漫展板
服务器内存台式机
怎么利用云服务器让手机免费上网
黑板报边框关于网络安全
密码和网络安全
中国联通网络技术中心
登录电脑显示未连接到服务器
数据库tempdb作用
北京it软件开发免费咨询
软件开发人员述职模板下载
网络安全是几月几日
数据库文件 区
防火墙 ips 网络安全
网络技术的发展准则
电脑服务器不认硬盘怎么办
C 数据库查询如何去除重复
富士康网络安全研究中心
html提取字典数据库
微服务器的安全性
远程服务器登录电脑卡住
数据库常见面试题100道
软件开发甲方人员配置
mcgs触摸屏与数据库
经济学人网络安全的背景