Matplotlib多子图显示2——网格划分
原文地址
分类目录——Matplotlib
plt.subplot2grid
效果
代码
在程序中通过注释进行说明
# 通过plot.subplotgrid()来划分网格 import matplotlib.pyplot as pltplt.figure('subgrid')ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3) # 生成子图对象 # 其中(3,3)表示将整个画布分成 3行*3列 的网格布局 # (0,0)表示占据索引(索引从0开始)为(0,0)的方格 # colspan 列扩展,=3即占3列 # plot()画折线图 ax1.plot([1, 2], [1, 2]) # 画小图 ax1.set_title('ax1_title') # 设置小图的标题ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2, title='ax2') ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2, title='ax3') # rowspan 行扩展,=2即占2行 ax4 = plt.subplot2grid((3, 3), (2, 0), title='ax4') ax5 = plt.subplot2grid((3, 3), (2, 1), title='ax5')# scatter()画散点图 ax4.scatter([1, 2], [2, 2]) # 设置x轴,y轴的轴属性说明 ax4.set_xlabel('ax4_x') ax4.set_ylabel('ax4_y')# 加上这一句可以避免不同子图的边缘重叠(在有label,title时可能会发生) plt.tight_layout()plt.show()
gridspec.GridSpec
效果
代码
在程序中通过注释进行说明
import matplotlib.pyplot as plt import matplotlib.gridspec as gridspecplt.figure('gridspec.GridSpec')gs = gridspec.GridSpec(3, 3) # 将画布分成3行*3列的网格布局# 利用切片选取若干网格画子图 # 对于[0:2,1:-1] # 其中逗号(,)用来隔离维度,冒号(:)用来连接切片的起始索引和终止索引 # 表示在第1个维度上,取第0行到第1行;在第2个维度上取第1列到倒数第二列(-1表示倒数第一项); # 嗯,这里的切片是含首不含尾的,这种切片机制在python中普遍存在 # 只有一个冒号(:)就表示去这一维度的所有项 ax6 = plt.subplot(gs[0, :], title='ax6') ax7 = plt.subplot(gs[1, :2], title='ax7') ax8 = plt.subplot(gs[1:, 2], title='ax8') ax9 = plt.subplot(gs[-1, 0], title='ax9') ax10 = plt.subplot(gs[-1, -2], title='ax10')# 加上这一句可以避免不同子图的边缘重叠(在有label,title时可能会发生) plt.tight_layout()plt.show()
plt.subplots
效果
代码
在代码中通过注释说明
import matplotlib.pyplot as pltfigure, ((ax11, ax12), (ax13, ax14)) = plt.subplots(2, 2, sharex=True, sharey=True) # 生成2*2的分布布局 # sharex, sharey 共享x轴,y轴# 散点图 ax11.scatter([1,2], [1,2])# 折线图 ax12.plot([1,2], [2,1])plt.tight_layout()plt.show()
说明
三种方式每种可在一个py文件中单独执行
参考文献
程序主要来自 Subplot 分格显示,略有改动
Matplotlib多子图显示2——网格划分相关推荐
- Matplotlib的子图subplot 显示多图
Matplotlib的可以把很多张图画到一个显示界面,这就设计到面板切分成一个一个子图. 直接指定划分方式和位置进行绘图. #要生成两行两列,这是第一个图plt.subplot('行','列','编号 ...
- 初探基于OSG+OCC的CAD之Netgen体网格划分与显示
本人之前在集成netgen时,划分选择是面网格划分,没有体网格划分选项,最近公司事情不是很忙,看了下Netgen的C++ API,于是在自己的系统中增加了体网格划分与面网格划分选项,可见截图Netge ...
- matlab怎么调整子图间距,matplotlib调整子图间距,调整整体空白的方法
matplotlib调整子图间距,调整整体空白的方法 如下所示: fig.tight_layout()#调整整体空白 plt.subplots_adjust(wspace =0, hspace =0) ...
- matplotlib调整子图尺寸,消除大图白边框
比较简单的方法是加一行:plt.tight_layout() 示例: import matplotlib.gridspec as gridspec # 用网格来创建子图 import matplotl ...
- matplotlib绘制子图,自定义子图大小并分别绘图
不设置子图时,默认Figure只有一个Axies,设置子图就是在一个Figure里包含多个Axes,示例如下: 示例代码 import matplotlib.gridspec as gridspec ...
- matlab 添加子图图案,matplotlib给子图添加图例的方法
matplotlib给子图添加图例的方法 代码如下: import matplotlib.pyplot as plt x = [1,2,3,4,5,6,7,8] y = [5,2,4,2,1,4,5, ...
- Fluent网格划分经验
首先,在网格划分之前,你最好从数值仿真的全局出发,比如精度要求,计算时间要求,机子配置等等,思考一下是使用结构网格,还是非结构网格,抑或是混合网格:因为这关系到接下来的网格划分布置和划分策略. 然后, ...
- 一文全解高级网格划分工具Fluent Meshing
作者 | 张杨 仿真秀专栏作者 ANSYS Fluent Meshing 是一款高级流体仿真前处理工具,具备从几何到求解的完整工作流程.其前身是Tgrid非结构体网格生成工具,并在最近的几个版本新增了 ...
- python划分有限元网格_有限元网格划分和细化
工程师和研究人员使用有限元分析(FEA)软件,来建立现实世界场景的预测计算模型.在使用有限元分析软件时,我们通常从表征需要模拟的物质部分的计算机辅助设计(CAD)模型.材料属性.外加载荷及约束等相关信 ...
最新文章
- [javaweb] servlet 服务器端转发和客户端重定向 (四)
- web安全之点击劫持攻击(clickjack)
- 财务学python有什么用_学习Python对财务工作者有哪些用途?
- 范醒哲:敬畏自然 渴望技术 —— 新冠肺炎后对网络数据传输能力的思考
- 一般性能服务器图片及介绍,服务器内部主要几种硬件以及它们的作用介绍
- matlab grp2idx,求教:m-fold cross validation 在matlab下如何实现?
- 微擎结合thinkphp5要带上uniacid_毕业季宣传品征集 | “山水万程,皆要好运”
- 常用排序算法-java实现(希尔,归并)
- iOS求职之OC面试题
- 大数据真实电商数据仓库全流程开发详解
- stm32无源蜂鸣器定时器_【STM32H7教程】第20章 STM32H7的GPIO应用之无源蜂鸣器...
- Kyligence 完成 2500 万美元 C 轮融资,Coatue 领投
- dp uva11584
- 超赞!每个设计师都应该了解的IOS编年史
- 冲破百亿天花板,木浪云用云和智能突破备份边界
- 嵌入式(stm32)学习之路---MIDI音乐播放器
- 广东 - 012 - 汕头南澳岛
- 深度deepin20打印失败“Can’t create temporary file”解决方法
- 如何从 0 到 1 设计、构建移动分析架构
- 服务攻防——数据库安全之未授权访问、弱口令