文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Matlab实现同步子图视角的方法详解

2024-04-02 19:55

关注

说来惭愧,在了解到这个更简单的方法之前,为了实现这个功能自己写了个工具函数,没发现有这么简单的实现方法,不过官网上的实现方法有点问题,我略微做出修改,这点会在之后被提到,以下给出实现子图同步旋转的三个例子:

实例一:双子图仅同步视角

实现这个功能依靠的是函数linkprop,看名字就是链接axes的某些属性,这里我们只需要链接两个坐标区域的'View'属性即可轻易实现同步视角:

% demo1.m
% @author: slandarer

[X,Y]=meshgrid(1:0.5:10,1:20);
Z=sin(X)+cos(Y);

% 坐标区域1绘图
ax1=subplot(1,2,1);
surf(X,Y,Z)
colormap(gca,summer)

% 坐标区域2绘图
ax2=subplot(1,2,2);
surf(X,Y,Z) 
colormap(gca,winter)

% 只改变视角不改变轴范围
linkprop([ax1,ax2],{'View'}); 

实例二:同步视角及坐标轴范围

在链接'View'属性的同时,再把'XLim''YLim''ZLim'属性同步起来就好(代码显示不全可左右滑动):

% demo2.m
% @author: slandarer

[X,Y]=meshgrid(1:0.5:10,1:20);
Z=sin(X)+cos(Y);

% 坐标区域1绘图
ax1=subplot(1,2,1);
surf(X,Y,Z)
colormap(gca,summer)

% 坐标区域2绘图
ax2=subplot(1,2,2);
surf(X,Y,Z) 
colormap(gca,winter)

% 只改变视角和轴范围
linkprop([ax1,ax2],{'View','XLim','YLim','ZLim'});

实例三:更多子图

通过sub2ind把子图矩阵存成一个子图行向量,然后继续调用linkprop函数即可(代码显示不全可左右滑动):

% demo3.m
% @author: slandarer

% 绘制6个图
M=2; 
N=3;

for m=1:M
    for n=1:N
        ax(1,sub2ind([M,N],m,n))=subplot(M,N,n+(m-1)*N);
        hold on;grid on
        scatter3(rand([5,1]),rand([5,1]),rand([5,1]),'filled')
    end
end

% 只改变视角不改变轴范围
linkprop(ax,{'View'});

注:MATHWORKS官网上给出的方案是通过链接'CameraPostition''CameraUpVector'两个属性实现的但是如果本身各个轴比例不相同就会出现下面的情况(因此还是直接设置'View'属性比较直接):

以上就是Matlab实现同步子图视角的方法详解的详细内容,更多关于Matlab同步子图视角的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯