Вот код, который может делать то, что вы хотите ... если я понял правильно. В основном вы создаете две разные оси на одном и том же рисунке, один поверх другого, и вы играете с XTick и YTick. Вы можете начать с этого я догадываюсь .:
clear
close all
clc
x = 1:10;
y1 = -(x.^2);
y2 = sin(x);
figure('Units','Normalized');
hAxes1 = axes('Position',[0.1 0.1 .8 .4]);
yLim = get(hAxes1,'YLim');
Axes1Position = get(hAxes1,'Position');
NewAxesPosition = [Axes1Position(1) Axes1Position(2)+0.4 Axes1Position(3) Axes1Position(4)];
hAxes2 = axes('Position',NewAxesPosition);
plot(x,y1,'b','Parent',hAxes1);
TICK = get(hAxes1,'YTick')
set(hAxes1,'XTick',2:1:10,'YTick',TICK(1:end-1))
hold on
plot(x,y2,'r','parent',hAxes2)
set(gca,'XTick',[],'XTickLabel',[])
hold off
Давать это:
Это не является оптимальным, но из-за нехватки времени я должен остановиться здесь :) Конечно, вы можете изменить отображение оси или отметки по вашему желанию. Кроме того, вы можете использовать текстовые аннотации, чтобы настроить YTicks еще красивее. Надеюсь, что это поможет!
Это, безусловно, соответствует тому, что я ищу. Это похоже на вышеупомянутое связанное решение, но, насколько я могу судить, более кратким. Я удивляюсь, что у MATLAB нет какой-то функции или чего-то в этом роде. Увы, я буду нажимать. Большое спасибо за вашу помощь! – josh