python实现在一个画布上画多个子图


Posted in Python onJanuary 19, 2020

matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot.

均匀画图

使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure创建一个图像窗口.

import matplotlib.pyplot as plt
 
plt.figure()

使用plt.subplot来创建小图. plt.subplot(2,2,1)表示将整个图像窗口分为2行2列, 当前位置为1. 使用plt.plot([0,1],[0,1])在第1个位置创建一个小图.

plt.subplot(2,2,1)
plt.plot([0,1],[0,1])

plt.subplot(2,2,2)表示将整个图像窗口分为2行2列, 当前位置为2. 使用plt.plot([0,1],[0,2])在第2个位置创建一个小图.

plt.subplot(2,2,2)
plt.plot([0,1],[0,2])

plt.subplot(2,2,3)表示将整个图像窗口分为2行2列,当前位置为3. plt.subplot(2,2,3)可以简写成plt.subplot(223), matplotlib同样可以识别. 使用plt.plot([0,1],[0,3])在第3个位置创建一个小图.

plt.subplot(223)
plt.plot([0,1],[0,3])

plt.subplot(224)表示将整个图像窗口分为2行2列, 当前位置为4. 使用plt.plot([0,1],[0,4])在第4个位置创建一个小图.

plt.subplot(224)
plt.plot([0,1],[0,4])
 
plt.show() # 展示

python实现在一个画布上画多个子图

不均匀画图

如果希望展示的小图的大小不相同, 应该怎么做呢? 以上面的4个小图为例, 如果把第1个小图放到第一行, 而剩下的3个小图都放到第二行.

使用plt.subplot(2,1,1)将整个图像窗口分为2行1列, 当前位置为1. 使用plt.plot([0,1],[0,1])在第1个位置创建一个小图.

plt.subplot(2,1,1)
plt.plot([0,1],[0,1])

使用plt.subplot(2,3,4)将整个图像窗口分为2行3列, 当前位置为4. 使用plt.plot([0,1],[0,2])在第4个位置创建一个小图.

plt.subplot(2,3,4)
plt.plot([0,1],[0,2])

这里需要解释一下为什么第4个位置放第2个小图. 上一步中使用plt.subplot(2,1,1)将整个图像窗口分为2行1列, 第1个小图占用了第1个位置, 也就是整个第1行. 这一步中使用plt.subplot(2,3,4)将整个图像窗口分为2行3列, 于是整个图像窗口的第1行就变成了3列, 也就是成了3个位置, 于是第2行的第1个位置是整个图像窗口的第4个位置.

使用plt.subplot(235)将整个图像窗口分为2行3列,当前位置为5. 使用plt.plot([0,1],[0,3])在第5个位置创建一个小图. 同上, 再创建plt.subplot(236).

plt.subplot(235)
plt.plot([0,1],[0,3])
 
plt.subplot(236)
plt.plot([0,1],[0,4])
 
plt.show() # 展示

完整代码

plt.figure()
plt.subplot(2,1,1)
plt.plot([0,1],[0,1])
 
plt.subplot(2,3,4)
plt.plot([0,1],[0,2])
 
plt.subplot(235)
plt.plot([0,1],[0,3])
 
plt.subplot(236)
plt.plot([0,1],[0,4])
 
plt.show() # 展示

结果如下

python实现在一个画布上画多个子图

以上这篇python实现在一个画布上画多个子图就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用pil生成缩略图的方法
Mar 26 Python
Python 中的with关键字使用详解
Sep 11 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
Python实现动态加载模块、类、函数的方法分析
Jul 18 Python
Tensorflow 实现修改张量特定元素的值方法
Jul 30 Python
python实现旋转和水平翻转的方法
Oct 25 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
Python操作Mongodb数据库的方法小结
Sep 10 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
Django自关联实现多级联动查询实例
May 19 Python
python构造函数init实例方法解析
Jan 19 #Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 #Python
python matplotlib中的subplot函数使用详解
Jan 19 #Python
Python中的 ansible 动态Inventory 脚本
Jan 19 #Python
Python实现序列化及csv文件读取
Jan 19 #Python
使用python turtle画高达
Jan 19 #Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 #Python
You might like
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
php图片缩放实现方法
2014/02/20 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
一段实时更新的时间代码
2006/07/07 Javascript
js程序中美元符号$是什么
2008/06/05 Javascript
Firefox outerHTML实现代码
2009/06/04 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
js中eval详解
2012/03/30 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[01:10:16]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第一局
2016/02/27 DOTA
Python自定义线程池实现方法分析
2018/02/07 Python
django如何连接已存在数据的数据库
2018/08/14 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
劳资员岗位职责
2013/11/11 职场文书
人力资源专业推荐信
2013/11/29 职场文书
初三家长会邀请函
2014/01/18 职场文书
消防器材管理制度
2014/01/28 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
元旦晚会策划方案
2014/02/18 职场文书
大学生作弊检讨书
2014/02/19 职场文书
鸦片战争观后感
2015/06/09 职场文书