Как использовать plotyy для двух разных сюжетов внутри подзаговора?

У меня были некоторые проблемы с использованием 'plotyy' внутри сюжетной линии.

Мне нужен сюжет с 4 фигурами и использовать в каждой из них «плотий». У меня были некоторые проблемы из-за масштабирования оси, и теперь, когда я решил это для первой фигуры, но когда я попытался использовать те же структуры для второй фигуры из подзаголовка, эта вторая фигура идеальна, но первая один становится графиком только с одним графиком вместо двух предыдущих (поэтому первый «плотий» перестает работать). Для лучшего понимания моей проблемы код, который я использовал:

AXInv = subplot(2,2,1);  % Auto-fitted to the figure.
PInv = get(AXInv,'pos');    % Get the position.
delete(AXInv)
[AXInv,H1,H2] = plotyy(h,Inv,h,prod_Inv,'plot');
set(AXInv,'pos',PInv)       % Recover the position.

line([0 24],[0 1],'parent',AXInv(1),'Color',[1 1 1]) % Axis is not scaled
axis auto % Numbers on axes are crushing.
set(AXInv(1),'ytickmode','auto')  % This is new....
line([0 24],[0 1500],'parent',AXInv(2),'Color',[1 1 1]) % Axis is not scaled
axis auto % Numbers on axes are crushing.
set(AXInv(2),'ytickmode','auto')  % This is new....


AXPrim = subplot(2,2,2);  % Auto-fitted to the figure.
PPrim = get(AXPrim,'pos');    % Get the position.
delete(AXPrim)
[AXPrim,H1,H2] = plotyy(h,Prim,h,prod_Prim,'plot');
set(AXPrim,'pos',PPrim)       % Recover the position.

line([0 24],[0 1],'parent',AXPrim(1),'Color',[1 1 1]) % Axis is not scaled
axis auto % Numbers on axes are crushing.
set(AXPrim(1),'ytickmode','auto')  % This is new....
line([0 24],[0 1500],'parent',AXPrim(2),'Color',[1 1 1]) % Axis is not scaled
axis auto % Numbers on axes are crushing.
set(AXPrim(2),'ytickmode','auto')  % This is new....

Кто-нибудь может мне помочь?

Заранее спасибо!


person PingP    schedule 07.06.2015    source источник
comment
Пожалуйста, примите ответ, если он вам помог, оставьте комментарий, если он все еще не работает, или опубликуйте свое собственное решение в качестве ответа, если вы решили свою проблему другим способом.   -  person Franz Wurst    schedule 10.06.2015


Ответы (1)


Я не могу сказать вам, почему ваша строка исчезает, я использую версию R2012b, и у меня тоже это происходит, так что это может быть просто странная ошибка.

Но, чтобы обойти это, вы можете удалить свои два оператора delete, потому что они здесь не служат никакой реальной цели. Без них вы получите правильный plotyy-график (с фиктивными значениями):

plotyy-сюжет со всеми линиями

Если вас беспокоят двойные галочки на правой оси, вы можете взглянуть на File Exchange. plt, чтобы обойти это.

Совет на следующий раз: постарайтесь включить минимальный рабочий пример вашего кода, чтобы людям не приходилось самим заполнять переменные данными. Возможно, вы получите ответ раньше. ;)

person Franz Wurst    schedule 08.06.2015