我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

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

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Matlab如何实现同步子图视角

这篇文章主要介绍“Matlab如何实现同步子图视角”,在日常操作中,相信很多人在Matlab如何实现同步子图视角问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Matlab如何实现同步子图视角”的疑惑有所帮助!
2023-07-01

Matlab如何实现多子图同步调整视角

本篇内容主要讲解“Matlab如何实现多子图同步调整视角”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Matlab如何实现多子图同步调整视角”吧!要解决的问题:我希望在旋转其中一个AXES的视角
2023-06-29

Matlab实现将图像序列合并为视频的方法详解

MATLAB是一种高性能语言,用于操纵矩阵、执行技术计算、绘图等。它代表矩阵实验室。借助这个软件,我们可以从图像中创建视频。这篇文章主要介绍了Matlab实现将图像序列合并为视频的四个方法,希望对大家有所帮助
2023-03-08

Java实现多线程同步五种方法详解

Java实现多线程同步的五种方法包括:1. synchronized关键字:使用synchronized关键字可以实现对共享资源的互斥访问。通过在方法或代码块前加上synchronized关键字,只有获得锁的线程才能执行该方法或代码块,其他
2023-08-14

Matlab中图像数字水印算法的原理与实现详解

数字水印技术作为信息隐藏技术的一个重要分支,是将信息(水印)隐藏于数字图像、视频、音频及文本文档等数字媒体中,从而实现隐秘传输、存储、标注、身份识别、版权保护和防篡改等目的。本文就来讲讲图像数字水印算法的原理与实现,感兴趣的可以了解一下
2023-05-15

Python实现K-means聚类算法并可视化生成动图步骤详解

K-means算法介绍 简单来说,K-means算法是一种无监督算法,不需要事先对数据集打上标签,即ground-truth,也可以对数据集进行分类,并且可以指定类别数目 牧师-村民模型 K-means 有一个著名的解释:牧师—村民模型:有
2022-06-02

PHP实现PDF转图片的方法详解

这篇文章主要给大家介绍了关于PHP将PDF转图片的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-12-21

PHP实现图片旋转的方法详解

这篇文章主要为大家详细介绍了PHP如何实现图片旋转功能,文中的示例代码讲解详细,对我们学习PHP有一定帮助,感兴趣的小伙伴可以了解一下
2022-11-13

Android中快速便捷的实现圆角按钮方法详解

前言大家应该都知道,圆角按钮是我们在做界面时常常遇到的UI样式。通常的办法,是做一个drawable,比如这样: 2023-05-31

PHP循环查询子分类的实现方法详解

PHP循环查询子分类是在网站开发中经常遇到的需求,特别是在构建商品分类、新闻分类等系统时。本文将详细介绍如何使用PHP实现循环查询子分类,以及提供具体的代码示例。1. 基本思路一般而言,商品分类或新闻分类系统都是以树形结构来组织,即一个
PHP循环查询子分类的实现方法详解
2024-03-07

Java实现异步延迟队列的方法详解

目前系统中有很多需要用到延时处理的功能,本文就为大家介绍了Java实现异步延迟队列的方法,文中的示例代码讲解详细,需要的可以参考一下
2023-03-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录