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 ...
随机推荐
- CentOS启动网络提示connect: Network is unreachable(配置静态路由)
ls /etc/sysconfig/network-script/ifcfg-eth0 一.看是否在上述目录下存在ifcfg-eth0 这个文件,若存在则按下面的步骤操作: 1.手工配置ip看能不能配 ...
- debian的pdf阅读器
www.foxitsoftware.cn下载deb包 或者 sudo apt-get install evince
- 服务端REST与SOAP的探讨(转)
声明: 闲来逛论坛看到一篇不错的文章,阅读后受益匪浅. 本文从一个简单的应用场景出发,使用REST和SOAP两种不同的架构风格实现,通过对REST与SOAP Web服务具体对比,旨在帮助读者更深刻理解 ...
- 【ActiveMQ入门-10】ActiveMQ学习-通配符+异步接收
通配符介绍: 一般情况下,我们使用层次结构的方式来组织队列,比如A.B.C.D,这样便于归类和管理. 我们也可以使用通配符来配置或是操作多个队列. 通配符有三个: . 用来分隔路径: * 用来匹 ...
- canvas基础之变换
2D绘制上下文支持各种基本的绘制变换: rotate(angle):围绕原点旋转图像angle弧度.(举例:如需旋转 5 度,可规定下面的公式:5*Math.PI/180.) scale(scaleX ...
- NLP-Progress记录NLP最新数据集、论文和代码: 助你紧跟NLP前沿
Github https://github.com/sebastianruder/NLP-progress 官方网址 https://nlpprogress.com/ NLP-Progress 同时涵 ...
- 深度强化学习——连续动作控制DDPG、NAF
一.存在的问题 DQN是一个面向离散控制的算法,即输出的动作是离散的.对应到Atari 游戏中,只需要几个离散的键盘或手柄按键进行控制. 然而在实际中,控制问题则是连续的,高维的,比如一个具有6个关节 ...
- MongoDB——更新操作(Update)c#实现
c#实现 Mongodb存储[文档局部更新] 如下: 递归更新字段 ,构建UpdateDefinition /// <summary> /// 构建更新操作定义 /// &l ...
- HTML(具体代码看笔记本)
参考:https://www.cnblogs.com/liwenzhou/p/7988087.html 一, HTML 1. HTML结构 2. 标签 1. 块儿级标签 h1~h ...
- Executor框架(三)线程池详细介绍与ThreadPoolExecutor
本文将介绍线程池的设计细节,这些细节与 ThreadPoolExecutor类的参数一一对应,所以,将直接通过此类介绍线程池. ThreadPoolExecutor类 简介 java.uitl.c ...