在一个图中绘制三个图表

时间:2012-05-17 19:57:30

标签: matlab

如何绘制这样的图形:enter image description here

我的问题不是关于“subplot”功能。我有一个用于x轴的“x”数组和用于y轴的三个“y”数组。我想在上面的图中绘制所有(x,y)图表。

1 个答案:

答案 0 :(得分:14)

您可以使用subaxis。我在下面写了一个示例代码:

x = 0:0.1:10;
spacing = 0.0;
subaxis(3,1,1,'Spacing',spacing);
plot(x,rand(size(x)),'k')
legend('D','Location','NorthWest')
ylim([-0.2 1])
set(gca, 'box','off')
set(gca,'XAxisLocation','top')

subaxis(2,'Spacing',spacing);
plot(x,rand(size(x)),'r')
legend('C','Location','NorthWest')
ylim([-0.2 1])
set(gca,'xtick',[],'box','off','xcolor','w')

subaxis(3,'Spacing',spacing);
plot(x,rand(size(x)),'b')
legend('B','Location','NorthWest')
set(gca, 'box','off')

enter image description here