Втори подсюжет изчезва

Имам странен (и вероятно лесен за разрешаване) проблем. Опитах се да начертая (използвайки панел) два графика:

a1 = subplot(2,1,1, 'Parent', handles.cpd_plot, 'Position', [0.1, 0.4, 0.85, 0.45]);
a2 = subplot(2,1,2, 'Parent', handles.cpd_plot, 'Position', [0.1, 0.1, 0.85, 0.15]);

но след начертаване на a2, a1 изчезва. Виждам, че има някакъв проблем с позицията, когато повдигна a1 малко ('Position', [0.1, 0.5, 0.85, 0.45]), той работи (но трябва да е >= ​​0,5). Къде е проблема? Благодаря!


person Art    schedule 11.01.2013    source източник
comment
случва ли се и ако обърнете реда на подсюжетите?   -  person bla    schedule 11.01.2013
comment
не, ако начертая a2 и след това a1, всичко е наред...   -  person Art    schedule 11.01.2013
comment
да, това си мислех... така че проблемът е решен. Все още ли искате да знаете защо се случи това на първо място?   -  person bla    schedule 11.01.2013
comment
разбира се, какво става?   -  person Art    schedule 11.01.2013
comment
вижте отговора ми по-долу и +1 за забелязването на това, не мисля, че това се счита за просто...   -  person bla    schedule 11.01.2013


Отговори (1)


Така че това вероятно се случва, защото subplot изтрива сюжет, когато се припокрива с предишния сюжет. Подозирам, че това се случва поради противоречиви стойности на позиции между номера на плочката на подплотката (т.е. подграфика (2,1,1) и т.н.), която има своя собствена позиция по подразбиране, и позицията, която сте въвели.

Така че вместо да използвате subplot(m,l,p, 'position', [ a b c d]), можете да разрешите този проблем, като използвате subplot само с информацията за позицията, както следва:

subplot('position',  [0.1, 0.4, 0.85, 0.45])
plot(1:10);
subplot('position', [0.1, 0.1, 0.85, 0.15])
plot(1:10);

въведете описание на изображението тук

person bla    schedule 11.01.2013