在矢量图上标记一些点

时间:2014-10-24 07:31:47

标签: matlab plot

我有向量Y,这是 3600 -by- 1 double。我想在plot(Y)上用不同的颜色,形状或符号标记某些点。

我在另一个向量y中有这些点, 63 -by- 1 。此y向量包含我想在图上标记的Y向量的点的行号。

例如,如果y(1)17,那么我想在图上标记Y(17)

1 个答案:

答案 0 :(得分:0)

这是非常基本的,您只想使用hold on将第二个图叠加在第一个图上。然后,您希望使用y索引Y来获取相应的值(即在垂直轴上)。请注意,在我的示例数据中,我使用变量Xx来模拟像您这样的数据,您可以将它们完全保留,因为您已经拥有Yy。< / p>

Y = rand(3600,1);
X = 1:numel(Y);

%//simulate your y
x = X(randperm(numel(X)));
y = sort(x(1:63));

plot(X,Y);    %// The same as plot(Y)

hold on

plot(y, Y(y), 'r*');   %//Note that since R2014b you no longer need to specify a different color when using hold on (i.e. the 'r*' can just be '*')

顺便说一句,我认为您可能希望将您的y变量称为其他内容(例如x),因为它在技术上代表Y的不同类型的值(即不同的轴)