服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - Matlab实现同步子图视角的方法详解

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

2022-12-16 14:34slandarer C/C++

这篇文章主要和大家分享三个可以Matlab中更简便实现同步子图视角的技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下

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

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

实现这个功能依靠的是函数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'}); 

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

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

在链接'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'});

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

实例三:更多子图

通过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'});

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

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

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

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

原文链接:https://mp.weixin.qq.com/s/H1aDTTy263EXx8FqBQ3Aeg

延伸 · 阅读

精彩推荐
  • C/C++C语言数组a和&a的区别讲解

    C语言数组a和&a的区别讲解

    今天小编就为大家分享一篇关于C语言数组a和&a的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看...

    码农-嵌入式Linux12082021-07-20
  • C/C++C++ 中String 替换指定字符串的实例详解

    C++ 中String 替换指定字符串的实例详解

    这篇文章主要介绍了C++ 中String 替换指定字符串的实例详解的相关资料,需要的朋友可以参考下...

    chinawangfei8052021-05-30
  • C/C++C语言中实现KMP算法的实例讲解

    C语言中实现KMP算法的实例讲解

    KMP算法即字符串匹配算法,C语言中KMP可以避免指针回溯从而达到高效,接下来就来总结一下C语言中实现KMP算法的实例讲解...

    努力奔跑的羊11892021-04-05
  • C/C++C语言线性表顺序存储结构实例详解

    C语言线性表顺序存储结构实例详解

    这篇文章主要介绍了C语言线性表顺序存储结构实例详解的相关资料,需要的朋友可以参考下...

    sunshine_rebrith9242021-05-19
  • C/C++C++vector的用法你都知道嘛

    C++vector的用法你都知道嘛

    这篇文章主要为大家详细介绍了C++中vector的用法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带...

    菜鸡圣龙进化菜松鼠5632022-09-26
  • C/C++C++超详细讲解标准库

    C++超详细讲解标准库

    C++强大的功能来源于其丰富的类库及库函数资源。C++标准库(C++ Standard Library, 亦可称作,C++标准程序库)的内容总共在50个标准头文件中定义。在C++开发中...

    清风自在 流水潺潺8792022-12-14
  • C/C++浅谈C语言转义字符和格式控制符

    浅谈C语言转义字符和格式控制符

    下面小编就为大家带来一篇浅谈C语言转义字符和格式控制符。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    C语言中文网11002021-04-15
  • C/C++C++迭代器介绍(iterator、const_iterator、reverse_interator、const_reverse_interator)

    C++迭代器介绍(iterator、const_iterator、reverse_interator、const_revers

    这篇文章主要介绍了C++迭代器介绍(iterator、const_iterator、reverse_interator、const_reverse_interator),文中通过示例代码介绍的非常详细,对大家的学习或者工作具...

    zx11862021-08-18