用不同的颜色给一些 MATLAB 图形样本上色

Color some samples of MATLAB figure with different color

我在 MATLAB 中使用命令

跟踪了一个长度为 N 的离散信号 x
stem(abs(x)); axis([0 N+6 0 4]);

结果图如下:

我的问题我只需要一些对应于索引 [7 10 11 12 15 18 48 50 52 60] 的值用不同的颜色着色,比方说红色。 我怎样才能在我的身材中做到这一点?

通过hold on和矩阵索引

使用多图

您可以使用 hold on 在图的顶部放置一个图。这确实需要进行调整,在这种情况下您需要一个向量 SampleIndices,它们指定样本 number/data 点索引。也可以使用矩阵索引得到关键点对应的amplitude/data个点,Indicies.

%Vector relating to the sample/data point number%
Sample = linspace(1,70,70);

%Random test data%
X = randi([0,2],1,70);
stem(Sample,X);

hold on
%Key indices to change colour%
Key_Indices = [7 10 11 12 15 18 48 50 52 60];

%Matrix indexing to get values/amplitudes corresponding to key indices%
X_Prime = X(Key_Indices);

stem(Key_Indices,X_Prime,'r');

axis([0 70 0 3]);
hold off

运行 使用 MATLAB R2019b

此代码只使圆圈变红,而不使茎变红

plot with selected red circles

%Vector relating to the sample/data point number
Sample = linspace(1,70,70);

%Random test data
X = randi([0,2],1,70);
stem(Sample,X);

%Key indices to change color
Key_Indices = [7 10 11 12 15 18 48 50 52 60];

line(Sample(Key_Indices), X(Key_Indices), 'linestyle', 'none', 'marker', 'o', 'color', 'r')

axis([0 70 0 3])
grid on