Можно использовать опцию ColorFunction
для ListPointPlot3D
:
color[0, 0, _] = Red;
color[1, 2, _] = Red;
color[_, _, _] = Blue;
ListPointPlot3D[
Join @@ Table[{x, y, 0}, {x, -6, 6, 1}, {y, -6, 6, 1}],
PlotStyle -> PointSize[0.02],
ColorFunction -> color, ColorFunctionScaling -> False]
Важно включить параметр ColorFunctionScaling -> False
, так как в противном случае координаты x , y и z , переданные функции цвета, будут нормализованы в диапазоне от 0 до 1 .
ColorFunction
также позволяет нам определять раскраску точек, используя произвольные вычисления, например:
color2[x_, y_, _] /; x^2 + y^2 <= 9 = Red;
color2[x_, y_, _] /; Abs[x] == Abs[y] = Green;
color2[_, _, _] = Blue;
ListPointPlot3D[
Join @@ Table[{x, y, 0}, {x, -6, 6, 1}, {y, -6, 6, 1}],
PlotStyle -> PointSize[0.02],
ColorFunction -> color2, ColorFunctionScaling -> False]