如何在Semilogx图中具有不同的背景色?

时间:2018-10-28 08:56:21

标签: matlab

我想用3种不同的颜色绘制Semilogx图。例如在20Hz到10KHz之间:绿色;在10KHz到100KHz之间:蓝色;在100KHz到1MHz之间:红色。

semilogx(freq,20*log10(abs(HData(:,:,1))));
频率:20Hz至1MHz HData是复数。

谢谢

1 个答案:

答案 0 :(得分:0)

简单的解决方法:

x = 1:30;
y = log(x);
figure
hold on
rectangle('Position',[0 min(y) 10 max(y)],'FaceColor','g')
rectangle('Position',[10 min(y) 10 max(y)],'FaceColor','b')
rectangle('Position',[20 min(y) 10 max(y)],'FaceColor','r')
semilogx(x,y,'k');
hold off

看看矩形函数here

矩形的位置由4个元素向量[x y width height]确定,其中xy是矩形的左下边缘