Problem with HitTest. I can not zoom on ax1 when ax2 is on top of it. The code works in Matlab 2012b.

I have to axes ax1 and ax2 on top of each other. I want to make ax2 invisible and then zoom on ax1.
This I could in Matlab 2012b but it does not work in 2015a. Pickableparts property that is introduced in 2015a is set to visible for both ax1 and ax2. HitTest property is on for ax1 and off for ax2 Visible property is on for ax1 and off ax2
Why can I not zoom on ax1 then?
Br Søren Furbo
h=figure(1);
ax1 = axes( ... 'Units','normalized', ... 'Position',[ 0.1 0.1 0.8 0.8]);
ax2 = axes( ... 'Units','normalized', ... 'Position',get(ax1,'Position'),... 'YAxisLocation','right',... 'Color','none');
set(ax2,'visible','off') set(ax2,'HitTest','off')

답변 (1개)

Hi,
I'm not yet sure, why this happens. Programmatically you can change the behavior to the desired as follows:
hz = zoom(h);
hz.Enable = 'on'
setAllowAxesZoom(hz, ax2, false)
I'll have a look why your approach does not work ...
Titus

댓글 수: 4

Thanks but it seems pretty weird that it should be necessary to do the above approach.
Søren
Agreed ... as I wrote, I'm still investigating...
I got an answer from mathworks and it is due to a bug in 2015a version

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

카테고리

도움말 센터 및 File Exchange에서 Labels and Annotations에 대해 자세히 알아보기

질문:

2015년 6월 17일

댓글:

2015년 6월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by