Вы можете дифференцировать кривые несколькими способами:
-1 - перекос данных
Как вы сказали, вы можете немного сдвинуть данные.Я бы предложил исправить вашу ось и затем вычислить, сколько единиц в ширине линии, чтобы вы получили очень плотное прилегание, как это:
lineWidth = 5;
figure(33);
clf;
subplot(1,2,1);
h = plot(myData, 'linewidth', lineWidth);
xlim([1,5]);
ylim([1,5]);
title('Original');
myData = meshgrid(1:5)';
myLimDiff = diff(ylim);
set(gca,'units', 'pixels');
myPos = get(gca, 'position')
myWidthHeight= myPos(3:4)
PixelsPerUnit =myWidthHeight(2)./ myLimDiff;
myDataSkewed = myData + meshgrid(-2:2)*1/PixelsPerUnit(1)*lineWidth;
subplot(1,2,2);
plot(myDataSkewed, 'linewidth', lineWidth);
xlim([1,5]);
ylim([1,5]);
title('Skewed');
Результат:
![enter image description here](https://i.stack.imgur.com/fa9px.png)
-2- Использование сплошных линий и тире
Как заметил кто-то еще в комментариях, вы можете сделать пунктирную линию над сплошной линией или комбинацию стилей.
-3- Использование разной толщины линии
Используйте разную ширину линии с самой толстой в нижней части:
figure(54);
clf
hold all
for ind = 10:-3:1
plot(1:5, 'linewidth', ind);
end
![enter image description here](https://i.stack.imgur.com/dQjHa.png)
-4- Используйте отдельные графики для каждой строки с поворотом
Еще один способ вызвать каждую линию - это построить каждую линию в подзадаче, но сначала отобразить все данные серым цветом.Таким образом, вы можете увидеть, где находятся все строки с каждой конкретной вызванной строкой:
![enter image description here](https://i.stack.imgur.com/pxVRx.png)
figure(55);
clf
data = rand(3);
for ind = 1:3
subplot(1,3,ind);
plot(data, 'linewidth', 4, 'color', [1 1 1]*.75);
hold on
plot(data(:,ind), 'linewidth', 2);
end