Вам нужно использовать функцию hold
, чтобы сохранить первый график, пока вы рисуете второй.Вот пример:
x=linspace(0,2*pi,1e3);
plot(x,sin(2*x))
hold on
plot(x,cos(2*x),'r')
hold off
hold off
снимает «удержание», и если вы строите что-либо сейчас, предыдущие графики не сохраняются.Хорошей практикой является снятие удержания, чтобы вы случайно не продолжили наложение нескольких графиков (если, конечно, это не намерение).
Если у вас есть два сигнала с широкими амплитудами, один из вариантовмасштабировать их так, чтобы они были сопоставимых амплитуд.Это может быть достигнуто, например, путем нормализации обоих значений максимум до 1. Например:
x=linspace(0,2*pi,1e3);
y=100*sin(2*x);
z=cos(2*x);
plot(x,y/max(abs(y)),x,z/max(abs(z)))
Возможно, вам придется сделать заметку или упомянуть (где бы вы ни использовали это), что сигналы былинормализовано, так что это ясно.
В качестве альтернативы вы можете использовать функцию plotyy
, которая позволяет построить две кривые с осью Y для каждой.Например:
x=linspace(0,2*pi,1e3);
y=100*sin(2*x);
z=cos(2*x);
plotyy(x,y,x,z)
РЕДАКТИРОВАТЬ 2:
Чтобы изменить цвета в plotyy
, вам необходимо использовать ручки линий.Продолжая приведенный выше пример,
[ax,h1,h2]=plotyy(x,y,x,z);
set(h1,'color','m')
set(h2,'color',[0,0.5,0])
Здесь я показал два способа установки цвета.Один использует встроенные цветные строки ('r'
-> красный, 'm'
-> пурпурный, 'c'
-> голубой, 'g'
-> зеленый, 'b'
-> синий, 'y'
-> желтый, 'k'
-> черный, 'w'
-> белый), а другой - с помощью 3-элементного числового вектора RGB, который может принимать значения от 0 до 1.
Иногда желательно не иметьОси Y окрашены (они мне так не нравятся).Чтобы изменить их на черный, установите значение свойства 'ycolor'
для ax
на черный.
set(ax,'ycolor','k')