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

3 次查看(过去 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 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by