Matlab多个堆积的图

gre*_*reg 7 matlab plot

我从未见过如下情节((a)中的情节).它甚至可能吗?

在此输入图像描述

hba*_*rts 7

根据@Ander Biguri的个人资料页面

如果你知道如何使用它,Matlab甚至可以做你的晚餐.

哪个回答了问题,如果这是可能的话;-)

我们所需要的只是axes命令的基本知识- 其余的只是调整以使它看起来很好.我们来看看它:

我们将从创建一些示例数据开始:

t = 100:220;
x1 = -(10*(t-130)).^2;
x2 = -(10*(t-150)).^2;
x3 = -(10*(t-170)).^2;
Run Code Online (Sandbox Code Playgroud)

然后我们将创建一个白色背景的初始图形

fig = figure(1);
set(fig,'Color','w');
Run Code Online (Sandbox Code Playgroud)

现在我们可以创建一个新的轴对象并绘制x1它:

ax(1) = axes('Position',[0.1,0.1,0.6,0.6]);
plot(ax(1),t,x1+10^4*rand(size(x1)),'-k',t,x1,'-r');
Run Code Online (Sandbox Code Playgroud)

我们将移除轴周围的框,因此仅保留x轴和y轴.此外,我们调整了情节,因此我们将有足够的空间用于其他两个地块.我们还将颜色设置为无,即透明.

set(ax(1),'Color','none');
set(ax(1),'Box','off');
set(ax(1),'Position',[0.1,0.1,0.6,0.6]);
Run Code Online (Sandbox Code Playgroud)

现在我们需要创建第二个图.我们将在我们喜欢的位置创建另一个轴对象:

ax(2) = axes('Position',[0.2,0.2,0.6,0.6]);
plot(ax(2),t,x2+10^4*rand(size(x2)),'-k',t,x2,'-r');
set(ax(2),'Color','none');
set(ax(2),'Box','off');
Run Code Online (Sandbox Code Playgroud)

等等:

ax(3) = axes('Position',[0.3,0.3,0.6,0.6]);
plot(ax(3),t,x3+10^4*rand(size(x3)),'-k',t,x3,'-r');
set(ax(3),'Color','none');
set(ax(3),'Box','off');
Run Code Online (Sandbox Code Playgroud)

就这么简单,我们得到的东西甚至看起来都不那么糟糕:

结果