Если вы даете одно число (например, 10) Mesh
, вы запрашиваете столько контуров, равномерно распределенных. Но если вы дадите ему список значений, в этих точках будут нарисованы контуры.
Итак, все, что нам сейчас нужно, это список из десяти чисел (скажем, n
чисел), экспоненциально увеличивающийся от минимального значения (назовите его min
) до максимального (назовите его max
). Мы можем сгенерировать это так - доказательство оставлено в качестве упражнения:
Table[
min Exp[i Log[max / min] / (n - 1)],
{i, 0, n - 1}
]
Итак, решение вашей проблемы:
min = Min[data[[All, 3]]];
ListDensityPlot[
data,
PlotRange->{0, 350},
Mesh->{Table[
min Exp[i Log[350 / min] / 9],
{i, 0, 9}
]},
MeshFunctions->{#3 &}
]
Обратите внимание на дополнительные скобки вокруг вызова Table
, которые делают этот список значений спецификацией для отдельной сетки.