matlab - 如何更改多个 freqz 图的颜色?

标签 matlab plot matlab-figure

我在 MATLAB 中使用“hold”和“freqz”在同一图上绘制多个频率响应。有什么方法可以调整每个图的颜色,以便我可以识别哪个图是哪个图?现在看起来一团糟。

enter image description here

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 .

enter image description here

关于matlab - 如何更改多个 freqz 图的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29449344/

相关文章:

matlab - 在数组中的每个元素之间使用 MATLAB linspace

matlab - Octave 错误 : subscript indices must be either positive integers or logicals

python - 值列表列表的 3D 绘图

matlab - 如何在 matlab 中为下图的每张图片添加字幕

java - 调用 MATLAB JA Builder 编译组件时出现内存不足错误

java - Matlab同时读写

plot - gnuplot - 使用线条颜色作为第三个变量不会生成所需的输出

r - 将标签名称绘制到由plot3d(rgl)生成的3D图上

Matlab 内线捕捉

matlab - .fig 文件无法在 Matlab 中打开