2

{ {x,y,z,f}...}使用している形式のデータがありますListContourPlot3Dが、各方向に -1 から 1 の次元を持つ空のボックスしか得られません。これが私のコードです:

ListContourPlot3D[data5, PlotRange -> All, 
  AxesLabel -> {"[Beta]", "[Omega]", "Vo"}, Contours -> {1500}].

これらは私のデータの最初の 5 ポイントです:( セット全体で 55 ポイントあります)

{{200, 20000 10^(1/3), 2000, 1226}, 
 {200, 20000 10^(1/3), 2600, 1422}, 
 {200, 20000 10^(1/3), 3200, 1581}, 
 {200, 20000 10^(1/3), 3800, 1761}, 
 {200, 20000 10^(1/3), 4400, 1872}}

Dimensions[data5]戻り{55,4} 値 実行IntegerPart[data5]すると、正しく実行されるため、データ内の数値を認識しなければなりません。

アイデアをいただければ幸いです。ありがとうございました。

4

4 に答える 4

1

データセット全体がないとわかりませんが、Contours->{1500}の設定に問題があると思います。完全に省略したり、別の値を使用したりするとどうなりますか?

于 2010-03-23T04:29:23.233 に答える
1

Contours -> num num 個の等間隔の等高線をプロットします。Contours -> {num} f[x,y,z] = num 等高線をプロットします。

前者のことですか?ListContourPlot3D がデータがまばらすぎるかローカライズされていない場合、データをプロットできるとは思えません。あなたが私たちに与えたデータサンプルでは、​​x と y はまったく変化しません。x と y は、最終的なデータ セットで十分に変化して、座標空間を十分に埋められるでしょうか?

于 2010-03-23T06:57:54.080 に答える
1

書かれたデータセットが変化していないように見えるという@Davorakの提案は、問題の原因である可能性があります。そうでない場合は、結果のグラフィックを回転させてみてください。黒い平面が表示される場合は、配色がオフになっています。デフォルトでListContourPlot3Dは、不透明な白いサーフェスが生成されます。何も生成されていないように見える問題がありましたが、単に見えませんでした。解決策:ContourStyleオプションを追加し、 のような値に設定しますRed

于 2010-03-23T15:02:40.953 に答える
1

ListContourPlot3D問題は、低解像度で{x,y,z,f} 形式を使用することです。私も数週間前にこれに出くわしました。これはバグの最小限の例です:

xyzfdata[r_] := Flatten[#, 2] &@Table[{x, y, z, x^2 + y^2 + z^2 - 1}, 
  {x, -2, 2, r}, {y, -2, 2, r}, {z, -2, 2, r}];
(* Low resolution {x,y,z,f} fails *) 
ListContourPlot3D[xyzfdata[1], Contours -> {0}]

私の場合(グリッド上にデータがありました)の解決策は、グリッドフォームを使用することでしたDataRange

fdata[r_] := Table[x^2 + y^2 + z^2 - 1, 
  {z, -2, 2, r}, {y, -2, 2, r}, {x, -2, 2, r}];
(* Low resolution works ok for array data *)
ListContourPlot3D[fdata[1], Contours -> {0}, 
  DataRange -> 2 {{-1, 1}, {-1, 1}, {-1, 1}}]

問題は、{x,y,z,f} フォームの場合、実装が低解像度で失敗する方法で補間を使用することだと思います。最初の例で解像度を上げると、すべてが機能します。

(* Higher resolution {x,y,z,f} works *)
ListContourPlot3D[xyzfdata[.2], Contours -> {0}]
于 2010-03-25T17:51:08.017 に答える