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进阶教程之动态类型详解
Aug 30 Python
Python THREADING模块中的JOIN()方法深入理解
Feb 18 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
python实现简单的文字识别
Nov 27 Python
python3使用matplotlib绘制散点图
Mar 19 Python
Django异步任务之Celery的基本使用
Mar 23 Python
python学习开发mock接口
Apr 28 Python
Python实现Selenium自动化Page模式
Jul 14 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
基于Python中的yield表达式介绍
Nov 19 Python
django queryset相加和筛选教程
May 18 Python
python在协程中增加任务实例操作
Feb 28 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
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
PHP计数器的实现代码
2013/06/08 PHP
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
python通过http下载文件的方法详解
2019/07/26 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
美工的岗位职责
2013/11/14 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
表扬稿范文
2015/01/17 职场文书