1

How can I get the code:

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

To plot, instead of points, lines conneting the points?

Please take into account that the plotting must be done as the data comes.

4

2 回答 2

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

这将让您在情节展开时旋转、选择线以更改颜色、更改标记类型。

于 2013-05-01T07:58:25.580 回答
1

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

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

编辑:我添加view(3)与此处类似现有帖子的答案一致:如何在 matlab 中使用 plot3 时保持绘图?

于 2013-04-30T20:23:15.317 回答