If I understand your question correctly, here is a possible approach to extracting the {x, y}
list of values corresponding to the zeroes of your function when the function is only available through data points.
First of all, I will generate a data list, since you did not provide one. Let's consider for instance the following function as an example:
f[x_, y_] := 20 x^2 - 3 (y - 2/3)^3 + 750
Plot3D[f[x, y], {x, y} \[Element] Rectangle[{0, 0}, {10, 10}],
Mesh -> {{0.}}, MeshFunctions -> (f[#1, #2] &),
MeshStyle -> {Red, Thick},
AxesLabel -> {x, y, z}
]

Here is am using mesh functions to highlight the position of a zero contour for your function. However, you don't have the functional expression, but just a list:
list1 = Table[{x, y, f[x, y]}, {x, 0, 10, 0.5}, {y, 5, 10, 0.2}] // Flatten[#, 1] &;
ListContourPlot
can calculate the contour line you want, i.e. the list of points $(x, y)$ for which your function is zero:
list1plot = ListContourPlot[list1, Contours -> {0.}]

We can then extract the coordinates of the calculated line:
zeroes = Cases[
Normal@list1plot,
Line[a__] :> a,
Infinity
];
We use Normal
here to transform the GraphicsComplex
expression generated by ListContourPlot
behind the scenes into a simpler Graphics
expression, which is easier to handle to extract information from.
Finally, we can plot the zeroes
list:
ListPlot[zeroes, AxesLabel -> (Style[#, 18, Red] & /@ {x, y})]

UPDATE
I apologize, I missed the links to your data the first time around. Loading those lists as list1
and list2
, and using ListLinePlot
, rather than ListPlot
, then one obtains:
First[Cases[
Normal@ListContourPlot[#, Contours -> {0.}],
Line[a__] :> a, Infinity
]] & /@ {list1, list2};
ListLinePlot[
%,
PlotRange -> All, PlotLegends -> {"list1", "list2"},
AxesLabel -> (Style[#, 18, Red] & /@ {x, y})
]
