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)模型.材料属性.外加载荷及约束等相关信 ...
最新文章
- VC2010不能将参数从“CString”转换为“const char *”
- 7000字 Redis 超详细总结笔记总 | 收藏必备!
- CSS进阶(二十四)流向的改变
- Linux命令free解读
- LAMP架构介绍,MySQL、MariaDB介绍,MySQL安装
- 水题公开赛【比赛公告】
- 使用Microsoft Word2016无法正常对Latex文本转换的踩坑和解决方法
- typedef让p去除了普通变量的C++身份
- 保存blob为本地文件
- Bootstrap列表组
- ASP.NET MVC3书店--第七节 用户及身份验证(转)
- Nopcommerce主要用到的技术及特点
- jenkins slave problem :Unsupported major.minor version 52.0
- 企业网站建设注意事项
- golang语言函数--示例--模板--小程序模板
- 手把手教你自制一寸两寸照
- css 六角形_创建数字六角形瓷砖图(第1部分)
- 批处理、分时、实时、网络、分布式操作系统的区别
- D4.8 Write transactions
- C语言输出一个19行实心菱形,C语言打印菱形