<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
要解決的問題:我希望在旋轉其中一個AXES的視角的同時,其他AXES跟著以相同視角旋轉。
我曾經在出過一篇如何同步視角的文章,但是隻是講清楚了原理,並寫出了編寫方法,但每次要寫都要編寫程式碼屬實麻煩,因此,我將主要部分封裝成了函數,用的時候只需要在程式碼結尾加上一行參照一下函數就行!!
以下先講解函數咋用,在最後給出函數完整程式碼:
直接在程式碼最後面參照一下工具函數,加入一行:
SCR()
在調整某一座標區域即可實現同時調整座標範圍和視角,範例程式碼如下:
% demo1.m % @author: slandarer [X,Y]=meshgrid(1:0.5:10,1:20); Z=sin(X)+cos(Y); % 座標區域1繪圖 subplot(1,2,1) surf(X,Y,Z) colormap(gca,summer) % 座標區域2繪圖 subplot(1,2,2) surf(X,Y,Z) colormap(gca,winter) % 應用座標區域同步旋轉函數 SCR()
因為有時候繪圖的座標範圍著實不一樣,想要只改變視角但是不改變座標範圍可以在最後加入:
SCR(‘ucLim’)
% demo2.m % @author: slandarer [X,Y]=meshgrid(1:0.5:10,1:20); Z=sin(X)+cos(Y); % 座標區域1繪圖 subplot(1,2,1) surf(X,Y,Z) colormap(gca,summer) % 座標區域2繪圖 subplot(1,2,2) surf(peaks) colormap(gca,winter) % 應用座標區域同步旋轉函數 % 只改變視角不改變軸範圍 SCR('ucLim')
不管多少子圖後面那一行照常加就完事,是不是嘎嘎好用:
% demo3.m % @author: slandarer % 繪製6個圖 M=2; N=3; for m=1:M for n=1: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 % 應用座標區域同步旋轉函數 % 只改變視角不改變軸範圍 SCR('ucLim')
function SCR(varargin) % % @author: slandarer % @公眾號: slandarer隨筆 % @知乎 : hikari % @CSDN : slandarer % % 期待您的關注!!! help SCR % 若不希望輸出[作者資訊],請刪除這行 uchangeLim=false; if nargin>0 if ischar(varargin{1})&&strcmp(varargin{1},'ucLim') uchangeLim=true;fig=gcf; elseif strcmp(get(varargin{1},'type'),'figure' ) fig=varargin{1}; end else fig=gcf; end if nargin>1&&ischar(varargin{1})&&strcmp(varargin{1},'ucLim') uchangeLim=true; end % 為axes編號 ch=fig.Children; for i=1:length(ch) ch(i).UserData=i; end fig.CurrentAxes=ch(end); isClicking=false; set(fig,'WindowButtonDownFcn',@bt_down); % 設定滑鼠按下回撥 set(fig,'WindowButtonUpFcn',@bt_up); % 設定滑鼠鬆開回撥 set(fig,'WindowButtonMotionFcn',@bt_move);% 設定滑鼠移動回撥 function bt_down(~,~),isClicking=true;end % 滑鼠按下回撥 function bt_up(~,~),isClicking=false;end % 滑鼠鬆開回撥 function bt_move(~,~) if isClicking tempAxes=fig.CurrentAxes; % 獲取當前點選的axes tempAxes.UserData; for ii=1:length(ch) % 兩個axes if ch(ii).UserData~=tempAxes.UserData ch(ii).View=tempAxes.View; % 讓其他axes與被點選axes有相同視角 if ~uchangeLim ch(ii).XLim=tempAxes.XLim; % 有相同X軸座標範圍 ch(ii).YLim=tempAxes.YLim; % 有相同Y軸座標範圍 ch(ii).ZLim=tempAxes.ZLim; % 有相同Z軸座標範圍 end end end end end end
以上就是Matlab實現多子圖同步調整視角的詳細內容,更多關於Matlab多子圖調整視角的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45