Let's create some random data
Clear["Global`*"];
n = 10^4;
Nmax = 10000;
data = Table[{RandomReal[{-1, 1}], RandomReal[{-1, 1}],
RandomInteger[{0, 500}]}, {i, 1, n}];
then the so-called Jet color function
jet[u_?NumericQ] :=
Blend[{{0, RGBColor[0, 0, 9/16]}, {1/9, Blue}, {23/63,
Cyan}, {13/21, Yellow}, {47/63, Orange}, {55/63, Red}, {1,
RGBColor[1/2, 0, 0]}}, u] /; 0 <= u <= 1;
and finally plot the points, according to the value of the third column
Nmin = 100;
Nmax = 400;
valrange = {Nmin, Nmax};
data[[All, 3]] = Rescale[data[[All, 3]] // N, valrange];
colfunc[x_] := jet[x[[3]]];
g0 = Graphics[{PointSize[0.01],
Point[#[[1 ;; 2]], VertexColors -> colfunc[#]] & /@ data}]
As we can see, many of the points are plotted in black. This is because the third element of the list runs from 0 to 500, while after the rescale we color only those between 100 and 400.
I want the following: All points for which the third element in less than 100 should be in gray, while all points for which the third element is above 400 should be in darker red.
Any suggestions?