How to| 三维数据绘图
Wolfram 语言集成的可视化功能提供了多种工具来在三维中显示数据. Wolfram 语言对点、曲面和等高线的绘图功能,结合其插值能力,使其能够得到准确的三维可视化结果. 此外,它还提供了多种对三维图形进行自定义和交互的方法,帮助您更好地了解您的数据.
首先,创建要在三维中绘制的数据集. ExampleData 用于得到第二个数据集合:
data1 = Flatten[Table[{r Cos[t], r Sin[t], 5 Sinc[r]}, {r, 0, 10, 0.5}, {t, -Pi, 3Pi, 0.1}], 1];
data2 = ExampleData[{"Geometry3D", "Torus"}, "VertexData"];使用 ListPointPlot3D 绘出由 data1 给出的三维点列表:
ListPointPlot3D[data1]使用 ListPointPlot3D 及其 ColorFunction 选项,采用预定义的梯度为图形着色:
ListPointPlot3D[data1, ColorFunction -> "Rainbow"]使用 ListPlot3D 生成 data1 的一个三维曲面图形:
ListPlot3D[data1]指定网格属性是自定义这些图形的一种方式. 这些示例将 Mesh、MeshFunctions、MeshShading 和 MeshStyle 用于 ListPlot3D:
ListPlot3D[data1, Mesh -> 5, MeshFunctions -> {#1&, #2&}, MeshShading -> {{Yellow, Red}, {Green, Blue}}, MeshStyle -> {Red, Thick}]使用 ListSurfacePlot3D 生成各个数据集的三维曲面图:
ListSurfacePlot3D[data1]ListSurfacePlot3D[data2]使用 ListSurfacePlot3D 构建 data1 的三维曲面,并对插值所用点数及网格大小设置限制:
ListSurfacePlot3D[data1, MaxPlotPoints -> 50, Mesh -> 6]使用 ListSurfacePlot3D 的其它可用网格选项:
ListSurfacePlot3D[data2, MaxPlotPoints -> 35, Axes -> False, Mesh -> 15, MeshStyle -> Blue, MeshFunctions -> {Function[{x, y, z}, Sin[x] + Cos[y]]}, PlotStyle -> Pink]网格选项也可在 ListContourPlot3D 中使用:
ListContourPlot3D[data2, MaxPlotPoints -> 15, Axes -> False, Mesh -> 15, MeshStyle -> Blue, MeshFunctions -> {Function[{x, y, z}, Sin[x] + Cos[y]]}, ContourStyle -> Pink]使用 ListVectorPlot3D 绘制矢量数据的视图:
wind = Table[{{i, j, z}, {(i + j) / 2, (i - j) / 2, (j - z + i) / 2}}, {i, 1, 10}, {j, 1, 10}, {z, 1, 10}];
ListVectorPlot3D[wind, VectorColorFunction -> "DeepSeaColors"]将 Manipulate 与 ListSurfacePlot3D 一起使用,查看一个互动的三维图形,您可以调整网格的尺寸和颜色. 您可以像对任何其它三维图形一样,使用鼠标对这些图形进行旋转、缩放和平移. 您必须运行这个示例以看到结果:
pipe = Table[{Cos[a = RandomReal[{0, 2 Pi}]], Sin[a], RandomReal[{0, 4}]}, {i, 1, 100}];
Manipulate[ListSurfacePlot3D[pipe, Mesh -> mesh, MeshStyle -> style, PerformanceGoal -> "Quality"],
{{mesh, 5}, 5, 15, 1, Appearance -> "Labeled"}, {{style, Blue}, {Blue -> "Blue", Red -> "Red", Green -> "Green"}}, ContinuousAction -> False]