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 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
基于Python实现通过微信搜索功能查看谁把你删除了
Jan 27 Python
Python匹配中文的正则表达式
May 11 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
详解Python3 pandas.merge用法
Sep 05 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
python多进程重复加载的解决方式
Dec 13 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
win10下python3.8的PIL库安装过程
Jun 08 Python
Python turtle库的画笔控制说明
Jun 28 Python
python 实现倒计时功能(gui界面)
Nov 11 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结束标签的使用细节探讨及联想
2013/03/04 PHP
php开发工具有哪五款
2015/11/09 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
Python求解平方根的方法
2015/03/11 Python
python实现的jpg格式图片修复代码
2015/04/21 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Django框架模板的使用方法示例
2019/05/25 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
python 执行终端/控制台命令的例子
2019/07/12 Python
python默认参数调用方法解析
2020/02/09 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
财务管理专业求职信
2014/06/11 职场文书
2014年团队工作总结
2014/11/24 职场文书
经销商会议开幕词
2016/03/04 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
Vue.Draggable实现交换位置
2022/04/07 Vue.js