在matlab中使用plot3时如何保存图?

JLa*_*ana 4 matlab plot matlab-figure

这符合我的预期:

    for i=1:100
      hold on;
      plot(i,i^2);
      drawnow;
    end
Run Code Online (Sandbox Code Playgroud)

绘制点在同一图中.

另一方面,这不是:

    for i=1:100
      hold on;
      plot3(i,i^2,sqrt(i));
      drawnow;
    end;
Run Code Online (Sandbox Code Playgroud)

由于它没有显示点的3d图,因此它仅显示它们在xy平面中的投影.不知何故,这个hold on陈述与plot3混淆了.

plot在3d情况下,当我在几个3d位置有点时,如何获得类似于2d情况的结果?

我试图让这个问题简明扼要,如果你认为我没有很好地解释它以获得满意的答案,请在评论中说明.

Ans*_*ari 6

您的代码正确绘制了三维曲线.你需要做的就是添加它

view(3);
Run Code Online (Sandbox Code Playgroud)

代码中的任何位置.

另外,一个hold on命令就足够了(即你不需要在每次循环迭代中重复它).

  • +1.你可以在第一次调用`plot3`之后而不是之前执行`hold on' - 在这种情况下,将保持默认视图. (5认同)