我不清楚造成画图不连续的原因,就这组数据而言,你可以尝试把MaxPlotPoints选项调低至65,就不会出现不连续。但是这样会造成图片质量降低。我观察了一下画出来的图:
发现他的Contour确实不封闭,然而Shading却有明确分界线,而且与Contour连续部分吻合。所以我觉得可以提取Shading包含的曲线信息。由于过程非常复杂,如果题主有兴趣的话我再展开说,现在就直接贴代码了。
extractContourShading[plot_] :=
Show[RegionPlot[
BoundaryMesh@
DiscretizeGraphics@(Graphics @@ ((tempHead @@
plot /. {{EdgeForm[], RGBColor[___],
GraphicsGroup[___], ___} -> myPlaceholder,
Tooltip[___] ->
Nothing}) /. {myPlaceholder ..} -> {#})),
BoundaryStyle -> Black, PlotRange -> All] /.
RGBColor[___] -> RGBColor[1, 1, 1] & /@
Cases[plot, {EdgeForm[], RGBColor[___], GraphicsGroup[___], ___},
Infinity]];
extractContourShading[ListContourPlot[data]]
效果如下