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.
一个稍微复杂一点的选项——例如,如果您希望能够在绘图移动时旋转绘图,或实时更改线条颜色等,则可以更新 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
这将让您在情节展开时旋转、选择线以更改颜色、更改标记类型。
如果你想要线条,你需要给绘图功能至少两个点。以下代码应绘制循环指示的当前数据点以及前一个数据点,并用线段将两者连接起来。
figure; hold on;
for i = 2:100
lineSeg = [i, i-1];
plot3(lineSeg, lineSeg.^2, lineSeg.^3);
end
view(3);
编辑:我添加view(3)
与此处类似现有帖子的答案一致:如何在 matlab 中使用 plot3 时保持绘图?