필터 지우기
필터 지우기

Rotate 3D lines in subplots. How do I use camorbit in subplots ?

조회 수: 4 (최근 30일)
Rodrigo Perea
Rodrigo Perea 2016년 2월 10일
댓글: Mike Garrity 2016년 2월 11일
So if I plot a (single) random 3d plot, I can rotate it using the following syntax: %% line3d=randn(20,3); %%Create a line coordinate figure, plot3(line3d(:,1),line3d(:,2),line3d(:,3)); %Plots the line coordinate while true; camorbit(1,-.1,'y'); drawnow; end %Rotates the line as I wanted %%
However, it gets tricky when I get subplots as it only rotates the last (or selected) subplot or if I use a while loop, it doesn't do it simultaneously: %% for ii=1:4 %Initializing the line3d in subplots subplot(2,2,ii); line3d=randn(20,3); figure, plot3(line3d(:,1),line3d(:,2),line3d(:,3)); %Plots the line coordinate end ---> ??? How do I rotate all the subplots now?
%% Any advice on how to re

채택된 답변

Mike Garrity
Mike Garrity 2016년 2월 10일
편집: Mike Garrity 2016년 2월 10일
Subplot returns a handle to an axes. Camorbit accepts a handle to an axes. So you can connect them together like so:
ax = gobjects(1,4);
for j=1:4
ax(j) = subplot(2,2,j);
surf(peaks)
end
while true
for j=1:numel(ax)
camorbit(ax(j),1,-0.1,'y')
end
drawnow
end

추가 답변 (1개)

Rodrigo Perea
Rodrigo Perea 2016년 2월 11일
Great, thank you! It does what I wanted but the rendering is slow probably because my subplots contain too much data (or I am using plot3 instead of surf)? Anyhow is there any way I can make the transition smoother? Probably leading a a related question on how to treating all subplots as a single plot? Thanks you though! Rodrigo
  댓글 수: 1
Mike Garrity
Mike Garrity 2016년 2월 11일
You might want to look into the "limitrate" option on drawnow. I talked about when it's appropriate in this post on the graphics blog .

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by