pyplot绘图区域
pyplot绘图区域
Matplotlib图像组成
- matplotlib中,整个图像为一个Figure对象,与用户交互的整个窗口
- Figure对象中包含一个或多个Axes(ax)子对象,每个ax子对象都是一个拥有自己坐标系的绘图区域


创建figure窗口对象
plt.figure(num=None, figsize=None, dpi=None, facecolor=N)
- num,num=n,选择图表n或创建图表n,给figure赋与编号
- figsize,图像尺寸,figsize=(4,8)
- facecolor,背景颜色
import matplotlib.pyplot as plt plt.figure()
plt.plot([1,2,3]) plt.figure(2, figsize=(4,4), dpi=80, facecolor='#ff0000')
plt.plot([1,3,2]) plt.show()




绘图时,如果不设置figure窗口和ax子窗口,Matplotlib会自动创建一个figure窗口和一个ax子窗口subplots(111)
import matplotlib.pyplot as plt #生成图像 #简写
plt.plot([1,2,3]) ######################### #等价于正常写法
plt.figure() # 创建figure,默认值为1
plt.subplot(111) #创建ax,默认值111
plt.plot([1,2,3]) #绘图 ######################### #面向对象的写法,将窗口对象赋给变量
fig, ax = plt.subplots() # 常用的面向对象简写方式
#上面代码等价于:
#fig = plt.figure()
#ax = fig.add_subplot(111) ax.plot([1,2,3]) plt.show()





多个ax子对象
plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False)
- nrows,选中子图行数
- ncols,选中子图列数
- sharex,是否共享X轴(True共享,Flase不共享,col每列共享,row每行共享)
- sharey,是否共享Y轴
- figsize,figsize=(5,10),给本figure设置大小
import matplotlib.pyplot as plt fig, ax = plt.subplots(3,2)
# fig, ax = plt.subplots(nrows=2, ncols=3, figsize=(6, 6), sharex=False, sharey=True) ax[0, 1].plot([1,2,3]) #0,1表示选中第0行第1列的ax子图 plt.show()


绘图区域:将一个大图分隔为多个子图,分别绘图,同时输出
简单绘图区域:plt.subplot
plt.subplot(nrows,ncols,plot_number)
- nrows,横轴数量,类似表格的 行
- ncols,纵轴数量,类似表格的 列
- plot_number,当前绘图区域
例子:
import matplotlib.pyplot as plt plt.subplot(3,2,1) #绘制3行两列6个子图,当前绘制第1个(从左上角横排往右下角数)
plt.plot([1,2,3]) plt.subplot(3,2,2)
plt.plot([1,3,2]) plt.subplot(3,2,3)
plt.plot([2,1,3]) plt.subplot(3,2,4)
plt.plot([2,3,1]) plt.subplot(3,2,5)
plt.plot([3,1,2]) plt.subplot(3,2,6)
plt.plot([3,2,1]) plt.show()

如果是横纵行列都是个位数,可以去掉逗号plt.subplot(324)

复杂绘图区域:pyplot子绘图区域
设定网格,选中网格,确定选中行列区域数量,编号从0开始
plt.subplot2grid(GridSpee,CurSpee,rowspan=1,colspan=1)
- GridSpee:元组,这个图表共有几行几列
- 例如(3,3),表示将区域分隔成3行3列9块区域
- CurSpee:当前选中第几行第几列的子图表
- 例如(1,0),这里表示第1行第0列(行列都以0开头)
- rowspan:合并行
- 例如rowspan=2,合并本块和下方块
- conlspan:合并列
- 例如colspan=3,合并本块和右侧两块
例子:
import matplotlib.pyplot as plt plt.subplot2grid((4,3),(0,0),colspan=3) #4行3列,选中0行0列单元格,合并3列
plt.subplot2grid((4,3),(1,0),rowspan=2,colspan=2) # 选中1行0列单元格,合并2行,合并2列
plt.subplot2grid((4,3),(1,2),rowspan=2) #选中1行2列单元格,合并2行
plt.plot([2,3,1])
plt.subplot2grid((4,3),(3,0)) #选中3行0列单元格
plt.subplot2grid((4,3),(3,1)) #选中3行1列单元格
plt.subplot2grid((4,3),(3,2)) #选中3行2列单元格 plt.show()


pyplot绘图区域的更多相关文章
- matplotlib学习日记(十)-共享绘图区域的坐标轴
(1)共享单一绘图区域的坐标轴 ''' 上一讲介绍了画布的划分,有时候想将多张图放在同一个绘图区域, 不想在每个绘图区域只绘制一幅图形,这时候借助共享坐标轴的方法实现在一个绘图区 绘制多幅图形的目的. ...
- 『Python』matplotlib共享绘图区域坐标轴
1. 共享单一绘图区域的坐标轴 有时候,我们想将多张图形放在同一个绘图区域,不想在每个绘图区域只绘制一幅图形.这时候,就可以借助共享坐标轴的方法实现在一个绘图区域绘制多幅图形的目的. import n ...
- 【转】如何调整visio绘图区域尺寸大小
原文网址:http://jingyan.baidu.com/article/948f5924033870d80ff5f9f1.html 在使用microsoft visio软件绘图时,为了绘图的质量和 ...
- echarts - 条形图grid设置距离绘图区域的距离
在一些数据量过大的情况下,在一个固定的区域绘图往往需要对图表绘制区域的大小进行动态改变.这时候设置条形图距离绘图区域上下左右的距离可使用如下方式:表示条形图的柱子距离绘图区左边30%,距离右边40%, ...
- 关于C#界面开发winform与SharpGL结合鼠标只在OpenGLControl绘图区域显示坐标移动消息响应(鼠标单独在某个控件上的消息响应)
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11773260.html 因为很多时候我们开发画图之类的工具时,鼠标移动之类的,都只想在绘图区域 ...
- 关于MFC与OpenGL结合绘图区域用鼠标来控制图形的移动的坑
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11773171.html 之前开发的导入多个模型,旋转,分别移动什么什么的,都是在纯OpenGL ...
- QT 设置有效绘图区域
void QPainter::setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::Re ...
- matplotlib.pyplot 绘图详解 matplotlib 安装
apt-get install python-matplotlib 转载自: http://www.cnblogs.com/qianlifeng/archive/2012/02/13/2350086. ...
- 服务器上使用matplotlib.pyplot绘图
在linux服务器端执行python脚本,有时候需要画图,但是linux没有GUI界面,因此需要在导入matplotlib.pyplot库之前先执行 import matplotlib as mpl ...
随机推荐
- Microsoft Dynamics CRM 4.0导入组织(Import Organization)时间过长的原因总结
952934 How to move the Microsoft Dynamics CRM 4.0 deployment http://support.microsoft.com/default ...
- 访问php网站报500错误时显示错误显示
调试时可在访问的php文件开头输入 ini_set("display_errors", "On"); error_reporting(E_ALL | E_STR ...
- AngularJS+ThinkPHP实例教程
总体思路 thinkphp通过RESTful方式提供数据给angular,前端(包括模板页面)全部由angular来接管. 示例 实现一个用户管理模块,走通增删改查4个操作,通过该示例,演示如何在th ...
- 【python】break和continue
break:跳出循环 ,continue:停止当前循环,进入下一次循环,但为跳出循环. passwdList=["123","456"] valid = Fal ...
- Gitlab Jenkins WebHook 持续集成配置踩坑记
Jenkins相关介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 目的 配置Gitla ...
- C/C++基础----函数
用实参初始化形参时会忽略掉顶层const. 尽量使用常量引用,普通引用会限制所能接受的实参类型,也会给调用者误导. 管理数组实参的3种方法: 数组本身包含一个结束标记 传递指向数组首尾元素的指针 定义 ...
- 如何手动关闭tomcat服务,不在Eclipse中的server里按那个红色按钮关
首先,找到Tomcat服务器的安装目录bin目录下的shutdown.bat.然后拖动到命令行进行操作,将Tomcat服务器关闭~ 将shutdown.bat 文件拖至命令行操作当中,执行该命令,即可 ...
- Java-Runoob-高级教程-实例-数组:08. Java 实例 – 数组填充
ylbtech-Java-Runoob-高级教程-实例-数组:08. Java 实例 – 数组填充 1.返回顶部 1. Java 实例 - 数组填充 Java 实例 以下实例我们通过 Java Ut ...
- [转] oracle 数据库 SQL plus 连接方法
http://hi.baidu.com/zzy382/item/a5b197f97a38e01ba7298832 之前电脑上安装了一个 Oracle 有一段时间没用,就把密码给忘了,按上面链接里的操 ...
- [转]NSIS常用代码整理
转自 http://www.flighty.cn/html/bushu/20120827_156.html 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ ; ...