Предположим, что points
- это списки координат, а labels
- список соответствующих меток, например,
points = Flatten[Table[{i, j, Sin[i j]},
{i, 0, Pi, Pi/20}, {j, 0, Pi, Pi/10}], 1];
labels = RandomChoice[{"label a", "label b", "label c"}, Length[points]];
Каждая метка соответствует цвету, который я пишу как списокправила, например
rules = {"label a" -> RGBColor[1, 1, 0],
"label b" -> RGBColor[1, 0, 0], "label c" -> RGBColor[1, 0, 1]};
Затем точки могут быть нанесены в цвет, соответствующий их метке, следующим образом
ListPointPlot3D[Pick[points, labels, #] & /@ Union[labels],
PlotStyle -> Union[labels] /. rules]

Редактировать
Чтобы раскрасить отдельные точки в ListPlot3D
, вы можете использовать VertexColors
, например
ListPlot3D[points, VertexColors -> labels /. rules, Mesh -> False]
