Как изменить цвет нескольких частотных графиков?

Я строю несколько частотных характеристик на одном графике, используя "hold" и "freqz" в MATLAB. Есть ли способ настроить цвет каждого графика, чтобы я мог определить, какой из них какой? Прямо сейчас это выглядит как беспорядок.

Похоже, что Freqz не поддерживает изменение цвета графика, как это делает "plot".

1 ответ

Решение

Это действительно немного сложно, как freqz не предоставляет ручку.

b = fir1(80,0.5,kaiser(81,8));
freqz(b,1); hold on
c = fir1(80,0.9,kaiser(81,8));
freqz(c,1); hold on

Но вы можете получить их с помощью findall:

lines = findall(gcf,'type','line');

а затем раскрасьте линии как обычно:

lines(1).color = 'red'
lines(2).color = 'green'
lines(3).color = 'red'
lines(4).color = 'green'

или для версий Matlab до 2014b:

set(lines(1),'color','red')
set(lines(2),'color','green')
set(lines(3),'color','red')
set(lines(4),'color','green')

Это работает для всех LineSpec свойства.

Другие вопросы по тегам