2015-04-04 54 views
3

我正在使用MATLAB中的「hold」和「freqz」繪製同一曲線圖上的多個頻率響應。有什麼方法可以調整每個圖的顏色,以便我可以確定哪個是哪個?現在看起來像一團糟。如何更改多個freqz地塊的顏色?

enter image description here

Freqz似乎並不支持改變曲線的顏色像「暗算」一樣。

回答

3

這確實有點棘手,因爲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'); 

,然後顏色的線條像往常一樣:以2014B之前

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

或Matlab的版本:

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

It適用於所有LineSpec properties

enter image description here

+1

這是否也適用於其他屬性? – codedude 2015-04-04 17:51:39

+1

@codedude是的!它適用於所有[**'LineSpec'屬性**](http://www.mathworks.com/help/matlab/ref/linespec.html) – thewaywewalk 2015-04-04 17:57:49

+0

awsome。謝謝您的幫助! – codedude 2015-04-04 18:02:47