Color function for ListPlot
You could do that using Point and VertexColors:
data = {{1, 2, 0}, {2, 1, 0.5}, {3, 1.3, 0.6}, {4, 1.1, 0.8}};
Graphics[
Point[data[[All, ;; 2]],VertexColors -> (Hue /@ data[[All, 3]])],
Frame -> True,
ImageSize -> 400
]
This should be very good in terms of memory as you only have one Point object.
data = RandomReal[{0, 10}, {100, 3}];
rng = MinMax@data[[All, 3]];
Legended[
Graphics[
{AbsolutePointSize[5],
{ColorData["Rainbow"][Rescale[#[[3]], rng]],
Tooltip[Point[#[[1 ;; 2]]], #[[3]]]} & /@
data},
Frame -> True,
ImageSize -> 400,
FrameLabel -> (Style[#, 14] & /@ {"a", "b"})],
BarLegend[{"Rainbow", rng}]]