Wolfram mathematica Mathematica在绘图中使用z值网格

Wolfram mathematica Mathematica在绘图中使用z值网格,wolfram-mathematica,mesh,Wolfram Mathematica,Mesh,我有一个{x,y,z}值列表,我正在使用ListDensityPlot将其可视化。我想用mesh函数->{3&}之类的东西绘制轮廓。这就是我现在拥有的: ListDensityPlot[data, PlotRange->{0, 350}, Mesh->{10}, MeshFunctions->{#3 &}] 但是我希望等高线的值从z的最小值成指数增长到最大范围(350)。我该怎么做?谢谢 如果你给网格一个数字(比如10),你要求的是这么多等距的轮廓。但如果你给它一个值

我有一个
{x,y,z}
值列表,我正在使用ListDensityPlot将其可视化。我想用
mesh函数->{3&}
之类的东西绘制轮廓。这就是我现在拥有的:

ListDensityPlot[data, PlotRange->{0, 350}, Mesh->{10}, MeshFunctions->{#3 &}]

但是我希望等高线的值从
z
的最小值成指数增长到最大范围(350)。我该怎么做?谢谢

如果你给
网格
一个数字(比如10),你要求的是这么多等距的轮廓。但如果你给它一个值列表,就会在这些点上画出轮廓

因此,我们现在需要的是一个由十个数字组成的列表(比如说,
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 &}
]

请注意
调用周围的额外大括号,它使该值列表成为单个网格的规范。

如果给
网格
指定一个数字(如10),则要求的轮廓数是如此之多,且间隔均匀。但如果你给它一个值列表,就会在这些点上画出轮廓

因此,我们现在需要的是一个由十个数字组成的列表(比如说,
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 &}
]

请注意
调用周围的额外大括号,它们使该值列表成为单个网格的规范。

您有兴趣加入我们吗?可能没有。我认为对于一种编程语言来说,拥有一个堆栈交换标签比它自己的站点更有意义。但是,我想指出的是,Mathematica的很大一部分并非如前面所讨论的那样本质上是编程的,Mathematica的问题经常因为离题而被关闭(显然,“堆栈交换标签”是指“堆栈溢出标签”——我的编辑按钮王国)我没有足够强烈的意见来深入讨论,但我不太可能转移到一个新网站。不过,享受吧!尽管如此,如果您回答了足够多的问题,其中一个可能会在某一点上被迁移…:)你有兴趣和我们一起去吗?也许没有。我认为对于一种编程语言来说,拥有一个堆栈交换标签比它自己的站点更有意义。但是,我想指出的是,Mathematica的很大一部分并非如前面所讨论的那样本质上是编程的,Mathematica的问题经常因为离题而被关闭(显然,“堆栈交换标签”是指“堆栈溢出标签”——我的编辑按钮王国)我没有足够强烈的意见来深入讨论,但我不太可能转移到一个新网站。不过,享受吧!尽管如此,如果您回答了足够多的问题,其中一个可能会在某一点上被迁移…:)