我在 MATLAB 中使用“hold”和“freqz”在同一图上绘制多个频率响应。有什么方法可以调整每个图的颜色,以便我可以识别哪个图是哪个图?现在看起来一团糟。
Freqz 似乎不像“plot”那样支持更改绘图的颜色。
最佳答案
这确实有点棘手,因为 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'
或 2014b 之前的 Matlab 版本:
set(lines(1),'Color','red')
set(lines(2),'Color','green')
set(lines(3),'Color','red')
set(lines(4),'Color','green')
它适用于所有 LineSpec
properties .
关于matlab - 如何更改多个 freqz 图的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29449344/