У меня есть сюжет, который выглядит следующим образом:
Это создается следующим образом:
fig = figure;
nPlots = 3;
for p = 1:nPlots
ax(p) = subplot(1, nPlots, p);
x = 0:10*p;
y1 = max(x)-x.^1.1;
y2 = p*max(x)-2*x;
yyaxis left;
plot(x, y1);
yyaxis right;
plot(x, y2);
end
Я хочу, чтобы оси на каждой стороне были одинаковыми, т.е. я хочу, чтобы все графики имели:
ylim_left = [0 30];
ylim_right = [0 90];
Но если я использую linkaxes(ax)
, я получу только правую сторону для изменения:
Если я попытаюсь yyaxis left; linkaxes(ax);
, тогда он получит самое высокое значение для левых сторон и применяет его к правым сторонам первых двух подзаговоров.
Когда я проверяю ax, я замечаю, что все его компоненты ax (1), ax (2) ... имеют свойство YAxisLocation:
, установленное в 'right'
, которое, как мне кажется, является корнем этой проблемы. Я не уверен, как получить ручку непосредственно к левой и правой боковым осям вспомогательных участков, чтобы напрямую связать их вместе. Любые идеи будут с благодарностью.