我如何获得代码:
for i = 1:100
plot3(i,i^2,i^3);
hold on;
drawnow;
end
要绘制连接点的线而不是点?
请注意,必须在数据出现时进行绘图。
答案 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
这将让你旋转,选择要更改颜色的线条,更改标记类型,同时绘图正在展开。