お世話になります.
Mathematicaという数式処理ソフトで3D散布図に等高線を入れる方法を教えてください.
3D散布図のX,Y,Zの数値データは下記のようにcsv形式で手元にあります.
X Y Z
1 1 1
1 1 2
・ ・ ・
・ ・ ・
・ ・ ・
Show関数と,Graphics3D関数を使用して1データごとにプロットして3D散布図を作成しています.
出来上がった散布図のグラフに対して,等高線を追加したいのですが,その方法が分からずに困っています.
方法をご存知の方は,ご教授頂けましたら幸いです.
よろしくお願いします.
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
すみませんが、やはり求めたいグラフがどんなものか今ひとつイメージできません。
3D散布図、というのは3次元空間内に散らばった点(0次元)の集まりなので、そもそも等高線(線なので1次元)を引くことができません。
適当な方法で補間して3次元曲面(面なので2次元)にして初めて、その曲面(例えばz == f[x, y])とz == 0.5などの方程式1本を連立させて次数を1つ減らし、1次元である等高線(f[x, y] == 0.5)を求めることができます。
一般に等高線の数式、というのは陰関数の形式でf[x, y] == k(k:定数)と表すことができます。
しかしf[x, y]が解析的に与えられる場合でも陽関数として表示できることはそう多くはないでしょうし、まして今回はデータからf[x, y]を生成しますので、まず無理です。補間の仕方によっても変わります。
ちなみに等高面、というとf[x, y, z] == k(k:定数)で表される面のことになります。
変数がx, y, zの3つで方程式が1本なので、2次元の面になります。
ListPlot3Dというのは、3次元の点の集まりを補間して3次元曲面を生成する関数です。
これで生成した3次元曲面に対する等高線は解答#1で示したような方法で等高線を表示できます。
画像検索などで、作りたいグラフに近いものを示していただければ力になれるかもしれません。
No.1
- 回答日時:
3D散布図に等高線を追加したグラフ、というのがどういうグラフになるのかがイメージができませんでしたので、2パターン考えてみました。
3D曲面に対して等高線を引くことは、ListPlot3DのオプションにあるMeshFunctionsを使って
z軸を基準にメッシュラインを引くように指定すればできますので、3D散布図に3D曲面の等高線を重ねあわせたものであれば、
data = Flatten[Table[{x, y, Sin[x^2 + y^2]}, {x, -2, 2, 0.1}, {y, -2, 2, 0.1}], 1];
Show[
ListPointPlot3D[data, ColorFunction -> "Rainbow"],
ListPlot3D[data, MeshFunctions -> {#3 &}, Mesh -> 5, PlotStyle -> None]
]��������
という感じでできます。
3D散布図の底面に2Dの等高線図を書き加えたものの場合はちょっとうまい方法を思いつきませんでしたが、
Show[
ListPointPlot3D[data, ColorFunction -> "Rainbow", PlotRange -> {-1, 1}],
Graphics3D[{Texture[
ListContourPlot[data, ContourStyle -> Black, ContourShading -> None, Frame -> None,
PlotRangePadding -> None]],
EdgeForm[], Polygon[{{-2, -2, -1}, {2, -2, -1}, {2, 2, -1}, {-2, 2, -1}},
VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}]
, Lighting -> "Neutral"
]
という感じでどうでしょうか。
2Dグラフの部分はテクスチャとしてGraphics3DにPolygonとして埋め込んでみました。
参考URL:http://reference.wolfram.com/language/ref/MeshFu …
この回答への補足
ご回答ありがとうございます.
説明が覚束なくて,申し訳ありません.
教えて頂いたメーカホームページで3D散布図の例として,以下のソースが公開されています.
ListPointPlot3D[Table[Sin[j^2 + i], {i, 0, 3, 0.1}, {j, 0, 3, 0.1}]]
http://reference.wolfram.com/language/ref/ListPo …
私がやりたいのは,このようなプロットに対して,X軸とY軸の値が異なるが,Z軸の値が等しい点を線で結んだグラフを作成することです.
また,Z=AX+BY+Cのようにその等高線(等高面というべきでしょうか?)の数式も求めることが出来れば大変助かります.
うまくお伝えできているでしょうか?
ご教授頂いた方法を参考に,検討致しますが,もし,補足コメントをご確認頂いたことで,最適な方法がございましたら,お教え頂けましたら幸いです.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 確率統計でExcelの使い方を教えてください。 3 2022/07/27 19:21
- 数学 数学 2変数データで、「相関係数=−1」の散布図を書く際 写真に これら5組のデータの散布図を描くと 4 2023/02/15 10:46
- Excel(エクセル) 図のような散布図の作り方を教えてください。 1 2022/07/19 11:52
- 計算機科学 エクセルのデータの表すことについて 2 2023/03/05 20:49
- Excel(エクセル) Excelでグラフを作りたいです。散布図でしょうか? 3 2023/02/09 12:48
- 電気工事士 来月から電気管理技術者のお仕事を始める者です。東京電力パワーグリッドへ情報提供の依頼をする方法がTE 1 2022/06/27 06:48
- Excel(エクセル) エクセルのグラフに上下限値の横棒を表示させたい 5 2022/12/12 11:09
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- 数学 ポアソン分布と二項分布について ・ポアソン分布における期待値と分散は等しくならない場合がある。 ・二 1 2022/06/12 16:29
- 猫 複数の猫が私の駐車場に居て車の上に登ったりで車に傷が これから寒くなるとボンネット内に入るみたいで洗 2 2022/08/16 06:21
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
指数関数と階乗。グラフで表し...
-
関数のグラフでy'''はなにを意...
-
Xについての方程式|x²-1|+x=Kが...
-
「グラフの概形を描け」と「グ...
-
数学の質問です。分数関数の分...
-
積分の面積を求める問題で 上−...
-
タンジェントとアークタンジェ...
-
4乗のグラフ
-
関数f(x)=x3乗−ax2条+(1-2a)x+4...
-
「2次不等式2x²+3x+m+1<0を満た...
-
ガウス記号の問題です。
-
数3 関数の極限 どういう問題の...
-
Xについての方程式|x²-1|+x=Kが...
-
グラフの概形を書けという問題...
-
対数グラフについて
-
f(x)=sin(1/x)(xは0以外)を0に...
-
直線y=ax+bが2点P(1,-1)、Q(2,1...
-
数学の問題を教えて下さい
-
四次関数
-
-b/2aが2次関数の軸?になる理...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
積分の面積を求める問題で 上−...
-
天孫降臨の神武天皇のY染色体...
-
関数のグラフでy'''はなにを意...
-
タンジェントとアークタンジェ...
-
4乗のグラフ
-
数学の質問です。分数関数の分...
-
数3 関数の極限 どういう問題の...
-
ゴンペルツ曲線の式
-
増減表について
-
グラフの類似度について
-
10の1.2乗が、なぜ16になるのか...
-
「2次不等式2x²+3x+m+1<0を満た...
-
4次関数のグラフの概形は「極大...
-
関数の極限について
-
数学
-
2点集中荷重片持ち梁について
-
-b/2aが2次関数の軸?になる理...
-
関数f(x)=x3乗−ax2条+(1-2a)x+4...
-
EXCELで緯度、経度を入力して、...
-
「グラフの概形を描け」と「グ...
おすすめ情報