在MATLAB图中用图表上的特定颜色着色特定点

时间:2015-04-30 07:52:29

标签: arrays matlab plot figure

我有“类”和“输入”数组。两个阵列的尺寸都是1x2000。

在“classes”数组中,记录“inputs”数组中的数据簇。例如,

classes = [5, 2, 4, 3, 5, ...]
inputs = [5.234, 6.345, 4.342, 2.532, 5.345, ...]

当我绘制像plot(inputs)这样的“输入”数组时,我想对与“classes”数组中特定簇相对应的每个数据进行不同的着色。

我该如何管理?

感谢。

1 个答案:

答案 0 :(得分:3)

最简单的解决方案是执行以下操作:

x = 1:numel(inputs);
plot(x(classes == 1), inputs(classes == 1), '.b', 
     x(classes == 2), inputs(classes == 2), '.g', 
     x(classes == 3), inputs(classes == 3), '.r');

您可以扩展这个想法,例如循环遍历类,自定义颜色排序等等。 如果您想要更具体或详细的答案,请在您的问题中添加更多信息。