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的时间模块datetime详解
Apr 17 Python
Python制作刷网页流量工具
Apr 23 Python
python中通过预先编译正则表达式提高效率
Sep 25 Python
python将一组数分成每3个一组的实例
Nov 14 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
Python numpy.zero() 初始化矩阵实例
Nov 27 Python
selenium 多窗口切换的实现(windows)
Jan 18 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
May 26 Python
利用python 下载bilibili视频
Nov 13 Python
Python可以用来做什么
Nov 23 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中计算程序运行时间的类代码
2012/11/03 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
详解基于vue的移动web app页面缓存解决方案
2017/08/03 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
numpy.transpose对三维数组的转置方法
2018/04/17 Python
django的登录注册系统的示例代码
2018/05/14 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
python urllib爬虫模块使用解析
2019/09/05 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
Python异常处理机制结构实例解析
2020/07/23 Python
python 常见的反爬虫策略
2020/09/27 Python
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
生产部统计员岗位职责
2014/01/05 职场文书
初二物理教学反思
2014/01/29 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
趣味运动会口号
2015/12/24 职场文书
卖车协议书范文
2016/03/23 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
创业计划书之酒店
2019/08/30 职场文书
Python基本知识点总结
2022/04/07 Python