matlab中subplot 在平铺位置创建坐标区
来源:https://ww2.mathworks.cn/help/matlab/ref/subplot.html?searchHighlight=subplot&s_tid=doc_srchtitle
语法
说明
示例
上部和下部子图
创建带有两个堆叠子图的图窗。在每个子图上绘制一条正弦波。
subplot(2,1,1);
x = linspace(0,10);
y1 = sin(x);
plot(x,y1) subplot(2,1,2);
y2 = sin(5*x);
plot(x,y2)

子图的象限
创建一个分为四个子图的图窗。在每个子图上绘制一条正弦波并为每个子图指定标题。
subplot(2,2,1)
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)
title('Subplot 1: sin(x)') subplot(2,2,2)
y2 = sin(2*x);
plot(x,y2)
title('Subplot 2: sin(2x)') subplot(2,2,3)
y3 = sin(4*x);
plot(x,y3)
title('Subplot 3: sin(4x)') subplot(2,2,4)
y4 = sin(8*x);
plot(x,y4)
title('Subplot 4: sin(8x)')

大小不同的子图
创建一个包含三个子图的图窗。在图窗的上半部分创建两个子图,并在图窗的下半部分创建第三个子图。在每个子图上添加标题。
subplot(2,2,1);
x = linspace(-3.8,3.8);
y_cos = cos(x);
plot(x,y_cos);
title('Subplot 1: Cosine') subplot(2,2,2);
y_poly = 1 - x.^2./2 + x.^4./24;
plot(x,y_poly,'g');
title('Subplot 2: Polynomial') subplot(2,2,[3,4]);
plot(x,y_cos,'b',x,y_poly,'g');
title('Subplot 3 and 4: Both')

将子图替换为空坐标区
创建一个包含四个随机数据针状图的图窗。然后将第二个子图替换为空坐标区。
for k = 1:4
data = rand(1,10);
subplot(2,2,k)
stem(data)
end

subplot(2,2,2,'replace')

自定义位置上的子图
创建包含两个未与网格位置对齐的子图的图窗。为每个子图指定一个自定义位置。
pos1 = [0.1 0.3 0.3 0.3];
subplot('Position',pos1)
y = magic(4);
plot(y)
title('First Subplot') pos2 = [0.5 0.15 0.4 0.7];
subplot('Position',pos2)
bar(y)
title('Second Subplot')

创建包含极坐标区的子图
创建包含两个极坐标区的图窗。在上部子图中创建极坐标线图,在下部子图中创建极坐标散点图。
figure
ax1 = subplot(2,1,1,polaraxes);
theta = linspace(0,2*pi,50);
rho = sin(theta).*cos(theta);
polarplot(ax1,theta,rho) ax2 = subplot(2,1,2,polaraxes);
polarscatter(ax2,theta,rho)

创建后修改坐标区属性
创建带有两个子图的图窗。将 Axes 对象赋给变量 ax1 和 ax2。将 Axes 对象指定为绘图函数的输入,以确保绘图函数在特定的子图中进行绘制。
ax1 = subplot(2,1,1);
Z = peaks;
plot(ax1,Z(1:20,:)) ax2 = subplot(2,1,2);
plot(ax2,Z)

通过设置 Axes 对象的属性来修改坐标区。更改上部子图的字体大小和下部子图的线宽。某些绘图函数可设置坐标区属性。先执行绘图函数,然后指定坐标区属性以免覆盖现有坐标区属性的设置。
注意:从 R2014b 开始,您可以使用圆点表示法设置属性。如果您使用的是早期版本,请改用 set 函数。
ax1.FontSize = 15;
ax2.LineWidth = 2;

使子图成为当前坐标区
创建一个包含多个子图的图窗。将 Axes 对象存储在向量 ax 中。然后使第二个子图成为当前坐标区。创建一个线图并更改第二个子图的坐标轴范围。默认情况下,图形函数作用于当前坐标区。
for k = 1:4
ax(k) = subplot(2,2,k);
end subplot(ax(2))
x = linspace(1,50);
y = sin(x);
plot(x,y,'Color',[0.1, 0.5, 0.1])
title('Second Subplot')
axis([0 50 -1 1])

将现有坐标区转换为子图
创建一个线图。然后转换坐标区,使其成为图窗的下部子图。subplot 函数使用原始坐标区所在的图窗。
x = linspace(1,10);
y = sin(x);
plot(x,y)
title('Sine Plot')

ax = gca;
subplot(2,1,2,ax)

将不同图窗中的坐标区转换为子图
将位于不同图窗中的坐标区合并到包含子图的单个图窗中。
在两个不同的图窗中创建两个图。将 Axes 对象赋给变量 ax1 和 ax2。将 Legend 对象赋给变量 lgd。
figure
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)
title('Line Plot 1')

ax1 = gca; figure
y2 = 2*sin(x);
plot(x,y2)
title('Line Plot 2')
lgd = legend('2*Sin(x)');

ax2 = gca;
使用 copyobj 创建两个 Axes 对象的副本。将复制的坐标区的父级指定为新图窗。由于图例和颜色栏不会随相关坐标区一起复制,因此请随坐标区一起复制图例。
fnew = figure;
ax1_copy = copyobj(ax1,fnew);
subplot(2,1,1,ax1_copy) copies = copyobj([ax2,lgd],fnew);
ax2_copy = copies(1);
subplot(2,1,2,ax2_copy)

输入参数
m - 网格行数
1 (默认) | 正整数
网格行数,指定为正整数。
数据类型: single | double
n - 网格列数
1 (默认) | 正整数
网格列数,指定为正整数。
数据类型: single | double
p - 新坐标区的网格位置
标量 | 向量
新坐标区的网格位置,指定为标量或正整数向量。
如果
p是正整数标量,则subplot在网格位置p处创建一个子图。如果
p是正整数向量,则subplot新建一个跨p中列出的网格位置的子图。
示例: subplot(2,3,1) 在位置 1 处创建一个子图。
示例: subplot(2,3,[2,5]) 创建跨位置 2 和 5 的子图。
示例: subplot(2,3,[2,6]) 创建跨位置 2、3、5 和 6 的子图。
数据类型: single | double
pos - 新坐标区的自定义位置
四元素向量
新坐标区的自定义位置,指定为 [left bottom width height] 形式的四元素向量。
left和bottom元素指定子图的左下角相对于图窗的左下角的位置。width和height元素指定子图维度。
指定介于 0 和 1 之间的归一化值(基于图窗内界)。
注意
使用脚本创建子图时,在发出 drawnow 命令或 MATLAB 返回到等待用户命令之前,MATLAB 不会最终确定 Position 属性值。在脚本刷新绘图或退出之前,子图的 Position 属性值会受到变化的影响。
示例: subplot('Position',[0.1 0.1 0.45 0.45])
数据类型: single | double
ax - 要设为当前坐标区或转换为子图的现有坐标区
Axes 对象 | PolarAxes 对象 | 图形对象
要设为当前坐标区或转换为子图的现有坐标区,指定为 Axes 对象、PolarAxes 对象或具有 ActivePositionProperty 属性的图形对象,如 HeatmapChart 对象。
要在子图位置创建空的极坐标区,请将 ax 指定为 polaraxes 函数,例如 subplot(2,1,2,polaraxes)。
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
示例: subplot(m,n,p,'XGrid','on')
有关您可以设置的属性的列表,请参阅 Axes 属性。某些绘图函数会覆盖属性设置。请考虑在绘图后设置坐标区属性。
提示
要清除图窗的内容,请使用
clf。例如,您可以在创建新子图布局之前清除图窗中的现有子图布局。要叠加坐标区,请改用
axes命令。subplot函数会删除与新坐标区重叠的现有坐标区。例如,subplot('Position',[.35 .35 .3 .3])会删除所有底层坐标区,但axes('Position',[.35 .35 .3 .3])会将新坐标区置于图窗的中部而不删除底层坐标区。subplot(111)是一个例外,其行为与subplot(1,1,1)不同。出于向后兼容的原因,subplot(111)是子图的一种特殊情况,它不立即创建坐标区,而是设置图窗,以便接下来的图形命令执行clf reset。接下来的图形命令将删除所有图窗子级,并在默认位置创建新的坐标区。subplot(111)不返回Axes对象,如果代码指定了返回参数,将会发生错误。
matlab中subplot 在平铺位置创建坐标区的更多相关文章
- matlab中subplot函数的功能
转载自http://wenku.baidu.com/link?url=UkbSbQd3cxpT7sFrDw7_BO8zJDCUvPKrmsrbITk-7n7fP8g0Vhvq3QTC0DrwwrXfa ...
- matlab中subplot函数的功能 类似python
原文:http://blog.163.com/my_it_dream_pwj/blog/static/17841430520112294342649/ 和python 中类似 subplot 功能 分 ...
- MATLAB中subplot的用法
写成subplot(m,n,p)或者subplot(mnp). subplot是将多个图画到一个平面上的工具.其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的, ...
- matlab中axis的用法
来源:https://ww2.mathworks.cn/help/matlab/ref/axis.html?searchHighlight=axis&s_tid=doc_srchtitle a ...
- 平铺式窗口管理器 Musca 初体验
作者: 吴吉庆 Version: 1.0 release: 2009-11-04 update: 2009-11-04 为什么用平铺式窗口管理器? 什么是平铺式窗口管理器(tiling window ...
- [UWP]使用Win2D的BorderEffect实现图片的平铺功能
1. WPF有,而UWP没有的图片平铺功能 在WPF中只要将ImageSource的TileMode属性设置为Tile即可实现图片的平铺,具体可见WPF的这些文档: ImageBrush 类 (Sys ...
- 如何用vue封装一个防用户删除的平铺页面的水印组件
需求 为了防止截图等安全问题,在web项目页面中生成一个平铺全屏的水印 要求水印内容为用户名,水印节点用户不能通过开发者工具等删除 效果 如上图 在body节点下插入水印DOM节点,水印节点覆盖在页面 ...
- C# 处理PPT水印(三)—— 在PPT中添加多行(平铺)文本水印效果
在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印:也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果.本文 ...
- matlab中hold指令、figure指令及subplot指令的使用
一.hold指令使用 正常情况下,plot指令显示figure时,以前的数据丢失了.使用hold on指令后,此后添加的一系列plot曲线将叠加在前一个图上当使用hold off后,恢复为默认状况,p ...
随机推荐
- 谁告诉的你们Python是强类型语言!站出来,保证不打你!
1. 真的能用隐式类型转换作为强弱类型的判断标准吗? 最近有些学员问我,Python到底是强类型语言,还是弱类型语言.我就直接脱口而出:Python是弱类型语言.没想到有一些学员给我了一些文章,有 ...
- Python 爬虫+tkinter界面 实现历史天气查询
文章目录 一.实现效果 1. python代码 2. 运行效果 二.基本思路 1. 爬虫部分 2. tkinter界面 一.实现效果 很多人学习python,不知道从何学起.很多人学习python,掌 ...
- Android开发之recycleView详解代码,看完包你熟练掌握recycleView的用法。转自网络经典文章
来源 http://jinyudong.com/2014/11/13/Introduce-RecyclerView-%E4%B8%80/ 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在 ...
- 目标识别AI资料
朋友推荐的, 还有自己搜的. 入门可以看看. 网上资料应该不少, 一搜一大把, 简单记下地址. Review of Deep Learning Algorithms for Object Detect ...
- Easy Problem(等差数列求和导公式)
链接:https://ac.nowcoder.com/acm/contest/316/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言2621 ...
- 深入了解Netty【三】Netty概述
1.简介 Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. Netty是一个NIO客户端服务器框架,它支持快速.简单地开发协议服务器和客户端等网络应用程序 ...
- CDH5.16.1集群企业真正离线部署
一.准备工作 1.离线部署主要分为三块: MySQL离线部署 CM离线部署 Parcel文件离线源部署 2.规划 节点 MySQL部署组件 Parcel文件离线源 CM服务进程 大数据组件 hadoo ...
- 简单编程:如何用java来打印出一个5行的三角形
- Linux:文件和用目录权限基础
首先,用ls -i 查看文件的信息: 红框框起来的部分:-rw-r--r-- 一共是10位,第一位表示文件类型,-表示文件,d表示文件夹/目录:后面9位则表示权限 其中前三位是该文件/目录所属者的权限 ...
- (.net core环境下)图形验证,人机交互,一个不够我给你两个
做软件,遇到一些通用性的功能,我想绝大多数同学都是去网上(或自己之前的项目中)搜一段代码出来,贴到项目中,修修改改,完成任务. 但身为一个有追求的软件工程师,怎么能一直忍受这种低级的操作呢?插件化,模 ...