How to | データを3Dでプロットする方法
Wolfram言語の統合された可視化機能は,データを3Dで表示するための数多くのツールを提供する.点,曲面,等高線をWolfram言語の補間する力と組み合せてプロットする機能によって,正しく3Dで可視化された結果を得ることが可能である.またこれらの3Dプロットをカスタマイズしてインタラクトする方法も数多くあり,データをよりよく理解することができるようになっている.
まず3Dでプロットするデータを作成する.ExampleDataを使って2つ目のデータを得る:
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で与えられる3Dの点のリストをプロットする:
Wolfram言語の統合された可視化機能は,データを3Dで表示するための数多くのツールを提供する.点,曲面,等高線をWolfram言語の補間する力と組み合せてプロットする機能によって,正しく3Dで可視化された結果を得ることが可能である.またこれらの3Dプロットをカスタマイズしてインタラクトする方法も数多くあり,データをよりよく理解することができるようになっている.
まず3Dでプロットするデータを作成する.ExampleDataを使って2つ目のデータを得る:
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で与えられる3Dの点のリストをプロットする:
ListPointPlot3D[data1]ColorFunctionオプションをListPointPlot3Dと一緒に使って,予め定義された勾配でプロットを色付けする:
ListPointPlot3D[data1, ColorFunction -> "Rainbow"]ListPlot3Dを使ってdata1から3D曲面プロットを生成する:
ListPlot3D[data1]メッシュの特性を指定することは,これらのプロットをカスタマイズする1つの方法である.以下の例では,Mesh,MeshFunctions,MeshShading,MeshStyleをListPlot3Dと一緒に使用する:
ListPlot3D[data1, Mesh -> 5, MeshFunctions -> {#1&, #2&}, MeshShading -> {{Yellow, Red}, {Green, Blue}}, MeshStyle -> {Red, Thick}]ListSurfacePlot3Dを使ってそれぞれのデータ集合から3D曲面を生成する:
ListSurfacePlot3D[data1]ListSurfacePlot3D[data2]ListSurfacePlot3Dを使い,補間に使われる点の数とメッシュの大きさに制限を付けて,data1から3D曲面を構築する:
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]Wolfram言語ではベクトルデータを3Dでプロットすることもできる.
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"]3Dのプロットは,その他のWolfram言語の関数ともうまく統合する.
ManipulateをListSurfacePlot3Dと一緒に使って,メッシュの大きさと色を調節できるようなインタラクティブな3Dプロットを見る.また,他の3Dグラフィックスの場合と同様に,マウスを使ってこのプロットを回転・拡大縮小・パンさせることも可能である.結果を見るためには,以下の例を評価する必要がある:
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]