Update:
Here is a depiction of the data by ListPlot3D
. The data can be separated into three groups by the third value.
On the first image the whole data is used but all that can be seen is just the positive data with #[[3]] > 0.46
because the other values are to small compared to it.
On the next three images you can see data from the three groups separately.
data = Import["planeImageData[Import["https://i.txt"sstatic.net/TMXaHoiJ.png"], "Table"][[All,"Byte"] {1,// 2,
4}]]; Flatten // FromCharacterCode // Uncompress;
ListPlot3D[data, PlotRange -> All]
ListPlot3D[Select[data, #[[3]] < 0 &], PlotRange -> All]
ListPlot3D[Select[data, 0 < #[[3]] < 0.46 &], PlotRange -> All]
ListPlot3D[Select[data, #[[3]] > 0.46 &], PlotRange -> All]
Another way to depict the data is to use logarithm on third value so that details of each group of data are visible.
ListPlot3D[{#[[1]], #[[2]], Log[#[[3]] + 6]} & /@ data,
PlotRange -> All]
Original answer:
data = Flatten[
Table[{x, y, x^2 - (y)^2}, {x, -1, 1, 0.1}, {y, -1, 1, 0.1}], 1];
mm = MinMax@data[[All, 3]];
d = 0.1;
cont = Table[{Rescale[k, {0, 1}, mm],
Blend[{Blue, White, Red}, k]}, {k, 0, 1, d/(mm[[2]] - mm[[1]])}];
ListContourPlot[data, ContourShading -> None, Contours -> cont]
With ColorData["Rainbow"][k]
instead of Blend[{Blue, White, Red}, k]
.
With If[k < 0.5, Blue, Red]
instead of Blend[{Blue, White, Red}, k]
.
data
stored in image: