how to constrain a 3d plot within a panel

1 view (last 30 days)
Salvatore
Salvatore on 14 Dec 2013
Answered: Salvatore on 10 May 2014
Hi,
how to constrain a plot (associated to an axes) within a panel?
If I try to zoom-in the plot extends over the whole figure.
Here's the simple code.
Thanks in advance
Salvatore
h = figure('Units', 'normalized', 'Color', [.9 .9 .9], 'Position', [.15 .15 .7 .6],...
'menubar','figure','toolbar','figure');
fp3d=uipanel('Parent', h, 'Position', [.4 .32 .6 .68]);
fp2d=uipanel('Parent', h, 'Position', [.4 .001 .6 .3]);
ha3d = axes('Parent', fp3d,'Units', 'normalized','Position', [0.1 0.1 .8 .8]);
ha2d = axes('Parent', fp2d,'Units', 'normalized','Position', [0.1 0.2 .8 .7]);
set(h,'CurrentAxes',ha3d)
% axes(ha3d)
[x,y] = meshgrid([-2:.2:2]);
Z = x.*exp(-x.^2-y.^2);
surf(x,y,Z,gradient(Z))
colorbar
set(h,'CurrentAxes',ha2d)
% axes(ha2d)
xx=0:.1:pi;
yy=sin(xx);
plot(xx,yy)

Answers (4)

Walter Roberson
Walter Roberson on 15 Dec 2013
Set the 'Clipping' property of the uipanel to be 'on'.

Salvatore
Salvatore on 15 Dec 2013
Edited: Walter Roberson on 15 Dec 2013
Thanks Walter
but the problem still remains.
fp3d=uipanel('Parent', h, 'Position', [.4 .32 .6 .68],'Clipping', 'on');
fp2d=uipanel('Parent', h, 'Position', [.4 .001 .6 .3],'Clipping', 'on');
Look at the attached pictures.
Any suggestion?
Regards
Salvatore

Rony
Rony on 7 May 2014
Hey Salvatore,
It seems that this is a popular problem with uipanel.
Were you able to solve it?
Regards, Rony

Salvatore
Salvatore on 10 May 2014
Hi Rony unfortunately, this issue is a known bug and I know developers are working on it, so it will be fixed in a future release.
A possible workaround (suggested by mathworks support) is to change the axes limits instead of zooming. The following example shows you how to zoom the peaks surface within 0 and 25 on x and y axes:
ax2=subplot(2,1,2); surf(peaks)
ax1=subplot(2,1,1); surf(peaks)
set(ax1,'xlim',[0 25],'ylim',[0 25],'zlim',[-5 5])
My suggestion is to work with separate figures for each plot you need to handle.
Regards
Salvatore

Categories

Find more on Graphics Objects in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!