通过以不同颜色绘制图形的一部分来突出显示

时间:2012-06-23 17:04:15

标签: matlab plot highlight

给出一个例如如下图所示的曲线我想突出显示区间150< = x< = 200中的曲线。我宁愿简单地用红色而不是蓝色绘制这个间隔。

有没有比在3组/ 3连接曲线部分中分割曲线更好的方法呢? (3个区间,第一个用于蓝色,第二个用于红色,第三个用于蓝色)。感谢任何提示!curve

2 个答案:

答案 0 :(得分:3)

一个简单的例子:

%# plot data
x = linspace(0,2*pi,75);
y = sin(x);
plot(x, y, 'b.')

%# higlight points of interest
idx = (4 <= x & x <= 6);
hold on, plot(x(idx), y(idx), 'r.')
hold off

screenshot

答案 1 :(得分:1)

正确的方法是为n个数据点提供n * 3的颜色值矩阵。

C = zeros(size(x,2), 3);
C(x>=150 & x<=200,1) = 1; % red
C(x<150 | x>200,3) = 1; % blue
scatter(x, y, 25, C, 'd', 'filled');