在Matlab中交叉的茎图

时间:2014-05-19 09:24:05

标签: matlab

我想在Matlab中重现一个如下图:

enter image description here

stem3 plot命令听起来不错,但仅适用于垂直茎。不是水平的第二个系列。

如果我可以使用常用命令进行绘图并旋转结果,那么一切都会很简单。

1 个答案:

答案 0 :(得分:2)

这是怎么回事?手动绘制源自x轴的3D中的每一行:

x = 0:.01:2*pi*3;
z = sin(x);
y = -sin(x);

hold on
for n = 1:numel(x);
    plot3([x(n) x(n)], [0 y(n)], [0 0], 'r');
    plot3([x(n) x(n)], [0 0], [0 z(n)], 'b');
end
view(15,25)

enter image description here


如@TheMinion所述,使用fill3更容易:

x = 0:.01:2*pi*3;
z = sin(x);
y = -sin(x);

fill3(x,y,zeros(size(x)),'r')
hold on
fill3(x,zeros(size(x)),z,'b')
view(15,25)