散射的第四个参数允许您指定颜色.从文档:
散射(X,Y,S,C)
...
C确定每个标记的颜色.当C是与X和Y长度相同的矢量时,C中的值线性映射到当前色彩映射中的颜色.当C是1乘3矩阵时,它将标记的颜色指定为RGB值.如果散点图中有3个点并希望将颜色作为色彩图的索引,则C应为3×1矩阵.C也可以是颜色字符串(有关颜色字符串说明符列表,请参阅ColorSpec).
尝试类似的东西:
X = rand(1, 10);
Y = rand(1, 10);
colour = randi(3, 1, 10)
colour =
2 1 3 1 3 1 2 2 3 1
scatter(X, Y, [], colour, 'filled');
Run Code Online (Sandbox Code Playgroud)

如果您的数据集很大,并且几乎没有不同的颜色类别,我倾向于发现使用带有hold的绘图是一种更快的绘图方式.