How to plot a stack of curves in Matlab, as attached figure?

1 次查看(过去 30 天)
Hope it is possible with matlab to plot a stack of curves, better with hidden lines, like this attached figure:

回答(3 个)

Kelly Kearney
Kelly Kearney 2014-6-12
编辑:Kelly Kearney 2014-6-12
The easiest way is probably just to add a small offset to the ydata:
nx = 100;
ny = 50;
ysig = rand(nx,1);
x = 1:(nx+ny);
y = nan(nx+ny,ny);
for ii = 1:50
y(ii:(ii+nx-1),ii) = ysig;
end
dy = 1;
ystaggered = bsxfun(@plus, y, (0:ny-1)*dy)
figure('color','k');
axes('color', 'k', 'xcolor','w');
line(x, ystaggered);
You could also try creating a lot of overlapping axes (as with plotses).
figure('color', 'k');
[hl,ha] = plotses(x,y);
set(ha, 'xcolor', 'w', 'ycolor', 'k');
set(ha(2:end), 'visible', 'off');

Walter Roberson
Walter Roberson 2013-11-27
That appears to be a waterfall plot. Which is actually a mesh plot with lines drawn only in one direction.
  1 个评论
John
John 2014-6-12
waterfall will not do that well. 1) waterfall is a 3D looking with view angles; 2) if plot black, the baseline will be plot, very ugly and messy; 2) with 'column' or 'raw' line only, there are missing sections.
Anyways, the water fall isn't a good way. Above is plot with IDL.

请先登录,再进行评论。


Star Strider
Star Strider 2014-6-12
My choice would be to use a ribbon plot. Then play with the plot parameters until it looks the way you want it to.

类别

Help CenterFile Exchange 中查找有关 Graphics 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by