如何使代码绘制线而不是点?

时间:2013-04-30 20:09:58

标签: matlab plot

我如何获得代码:

    for i = 1:100
      plot3(i,i^2,i^3);
      hold on;
      drawnow;
    end

要绘制连接点的线而不是点?

请注意,必须在数据出现时进行绘图。

2 个答案:

答案 0 :(得分:1)

如果你想要线条,你需要给出绘图功能至少两点。以下代码应绘制循环指示的当前数据点以及前一个数据点,将两者与线段链接。

figure; hold on;
for i = 2:100
    lineSeg = [i, i-1];
    plot3(lineSeg, lineSeg.^2, lineSeg.^3);
end
view(3);

修改:我添加了view(3),以便与此处类似的现有帖子的答案保持一致:How to hold a plot when using plot3 in matlab?

答案 1 :(得分:1)

稍微复杂的选项 - 如果您希望能够,例如,在移动时旋转绘图,或实时更改线条颜色等,将更新Xdata,Ydata和Z数据。 (相当于设置xdatasource等,并使用refreshdata进行重新绘制)。

x=[]; y=[]; z=[]; axis([0 100 0 10^4 0 10^6])
set(gca,'nextPlot','replacechildren')
for i=1:100;
x(end+1)=i; y(end+1)=i^2;z(end+1)=i^3;
if (i==1); h=plot3(x,y,z); else set(h,'Xdata',x,'Ydata',y,'Zdata',z);  pause(0.25); end
end

这将让你旋转,选择要更改颜色的线条,更改标记类型,同时绘图正在展开。