matlab - 存储 MATLAB 3d 视口(viewport)

标签 matlab plot

我正在使用 MATLAB 显示 3d 数据。我使用 GUI 更改视角、缩放和平移。我如何存储此 View 并稍后将其应用于另一个图形(包含或多或少相同的数据)? view 为我提供了一个矩阵,但我如何将其应用于另一个图形?

非常感谢!

最佳答案

要在另一个图形上使用当前视角,您可以这样做:

% call when the source axes is the current axes
[az, el] = view; 
% call when the target axes is the current axes
view (az, el);

或者,您可以使用 view 属性的 getset 来做同样的事情。

但是,要一起应用您提到的所有 View 属性,使用 Matlab 的内置“生成 m 文件”选项会更容易 - 当您按照自己的方式获得 3D 图形时,转到 file->Generate m-file,将创建​​一个将 3D 数据作为输入并应用设置的 m 文件。

另一种选择是自己保存这些相关设置(只需检查生成的 m 文件):

plot3(sin(t),cos(t),t);
pba = get(gca, 'PlotBoxAspectRatio');
dar = get(gca, 'DataAspectRatio');
cva = get(gca, 'CameraViewAngle');
cuv = get(gca, 'CameraUpVector');
ct = get(gca, 'CameraTarget');
cp = get(gca, 'CameraPosition');

然后将其应用于当前轴(假设目标轴是当前轴):

set(gca, 'PlotBoxAspectRatio',pba);
set(gca, 'DataAspectRatio',dar);
set(gca, 'CameraViewAngle',cva);
set(gca, 'CameraUpVector',cuv);
set(gca, 'CameraTarget',ct);
set(gca, 'CameraPosition',cp);

关于matlab - 存储 MATLAB 3d 视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5090195/

相关文章:

plot - 如何在 Weka Explorer 中将可视化绘图导出为 png

r - ggplots 存储在绘图列表中,以在 for 循环内生成绘图时尊重变量值

matlab - 如何在 Matlab 中绘制圆?

matlab - 如何比较两种颜色?

Matlab - 将 varargin 传递给接受可变数量参数的函数

python - pandas DataFrame 多列的并排箱线图

R 微基准警告 - 无法测量 x 评估的正执行时间

python - 基于边缘宽度的 matplotlib 图例

matlab - 字段内的结构

matlab - 为什么使用 switch 命令时他的函数不返回解决方案?