MATLAB Answers

Zooming in axes in GUI causes axes to expand.

29 ビュー (過去 30 日間)
Sukuchha
Sukuchha 2011 年 7 月 22 日
コメント済み: NitzBr 2020 年 6 月 16 日
I have a axes where I am plotting my XYZ data using plot3(X,Y,Z,,'b.').
So far so good, but when I want zoom in on the axes, the extent of that axes increases and it goes beyond the predefined size in the GUI such that it starts covering the whole GUI.
How to prevent this from happening so that when I zoom the size of the axes does not change?

  3 件のコメント

Doug Hull
Doug Hull 2011 年 7 月 22 日
Can you post screenshots or SIMPLE code that can reproduce?
Sukuchha
Sukuchha 2011 年 7 月 23 日
I will do that after i go to office after weekend! thanks !
Sukuchha
Sukuchha 2011 年 7 月 24 日
Doug,
Here is before and after screen shots!
Notice the enlarsement of the axes size on the right side after i zoom.
Before: http://goo.gl/2Osbg
After : http://goo.gl/g1wQO

サインインしてコメントする。

回答 (5 件)

Jan
Jan 2011 年 7 月 23 日

  1 件のコメント

Sukuchha
Sukuchha 2011 年 7 月 24 日
Jan, yes my problem is similar ! Any thoughts how it can be solved ?

サインインしてコメントする。


Ahmed AKL
Ahmed AKL 2017 年 8 月 31 日
編集済み: Ahmed AKL 2017 年 8 月 31 日
I'm using GUIDE to create a UI interface that has a map. When I try to Zoom I've the same issue. This solution worked with me:
  1. make a panel
  2. choose panel border to be 'none'
  3. insert the axes (i.e. your map) inside the panel
  4. The problem is still there, but it is bounded by the panel, so it is not visible

  1 件のコメント

NitzBr
NitzBr 2020 年 6 月 16 日
YES!
Great sulotion, thank you!

サインインしてコメントする。


Walter Roberson
Walter Roberson 2011 年 7 月 23 日
Is this plot inside a uipanel? If so then you need to set the uipanel Clipping property.

  1 件のコメント

Sukuchha
Sukuchha 2011 年 7 月 23 日
its not within a uipanel ! its just a plain axes in a gui !

サインインしてコメントする。


Bilen Oytun Peksel
Bilen Oytun Peksel 2012 年 11 月 12 日
The problem here is:
If the view angles (az,el check out 'help view') are set to different values than usual xy xz or yz views the zoom behaviour changes. For 2D axis zoom manipulates axis limits thus axis size is retained. If however the view angles change into some other value with for instance rotate3d function zoom function begins to manipulate 'cameraposition' or 'cameraviewangle' which makes the axis grow on the screen. In theory it can be avoided by adjusting the axis limits accordingly but when you do it it behaves strangely and not as intended.
I am having the same problem myself and assigning the axes as a children of other objects like uipanel doesnt help. Only solution I came up with was to make another figure docked into the main figure. The axes is assigned as the child of that figure. However I am still struggling with the docking stuff.

  0 件のコメント

サインインしてコメントする。


fenix.d.0831
fenix.d.0831 2017 年 11 月 3 日
my solution is to set the axes as parent of the plot
for example:
h=plot(x, y); set(h, 'parent', axes)

  0 件のコメント

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by