• 締切済み

gnuplot 4次元データ(3次元座標における値)の表示

まず、次のようなデータファイルがあります。 ----- x1, y1, z1, f1 x2, y1, z1, f2 x3, y1, z1, f3 x1, y2, z1, f4 x2, y2, z1, f5 x3, y2, z1, f6 以下、延々と続く。 ----- gnuplotで、zをz1に固定して、xy平面上に、fを立体的に表示する 方法があれば教えてください。 なお、pm3d で平面にカラーマップを表示する方法は分っています。

みんなの回答

回答No.3

> 座標(x,y,z)における値がfであるデータファイル(質問に書いたような > ファイル)をgnuplotで表示するにあたり、z=z1の場合のみのfを > 三次元座標空間に表示したいということです。 申し訳ありませんが、何をしたいか解りません。 x,y,z,f と値が 4 つ有りますが、三次元それぞれの軸として使いたいのは、それぞれどういった値なのでしょう? それぞれの軸の値としては、x,y,f を使いたい気がするのですが、それでは > splot "data-file" using 1:2:4 with pm3d > ですと、zを選択的に表示できないので困っています。 > 何かオプションでzを選択的に表示できるようになるのでしょうか? >         ^^^^^^^^^^^^^^^^ の意味がわかりません。 ##z の値もプロットに使ったら、4 次元になってしまうし....。 ひょっとして、z の値でマスクしたい? それなら、例えば using ($1):($2):($3 != 1 ? 1/0 : $4 ) で z が 1 の時だけプロットできますが....。

happihappy
質問者

お礼

記述内容は理解できていませんが、 そのようにしたらできました。 どうもありがとうございます。 選択的というのは回答2のお礼の欄に書いたように たくさん存在するzの中からz=z1のように指定したzの値の ときのみを表示するという意味で書きました。

回答No.2

> zを選択的に表示できないので困っています。 4 次元グラフを作ろうとしている訳ではないでしょうから、ラベルか何かに使いたいという事でしょうか? それなら、私も解りません。ひょっとすると、 http://ayapin.film.s.dendai.ac.jp/cgi-bin/trees.cgi なら回答が得られるかも。 そうではなく、例えば「x?*z? 等計算の元となる数値として使いたい」という事なら、どういつ業にあるなら、矢っ張り using で出来ますが.....。

happihappy
質問者

お礼

掲示板の紹介ありがとうございます。 座標(x,y,z)における値がfであるデータファイル(質問に書いたような ファイル)をgnuplotで表示するにあたり、z=z1の場合のみのfを 三次元座標空間に表示したいということです。 回答の最後の行は分かりません。

回答No.1

> x1, y1, z1, f1 <snip> > gnuplotで、zをz1に固定して、xy平面上に、fを立体的に表示する これは結局、f? の最後の列を 3 つ目の軸 (次元) としてプロットすれば良いのでしょうか? そうであるなら、using を使えば良いと思います。

happihappy
質問者

お礼

回答ありがとうございます。 splot "data-file" using 1:2:4 with pm3d ですと、zを選択的に表示できないので困っています。 何かオプションでzを選択的に表示できるようになるのでしょうか? 質問では省略していますが、zの値も、z1, z2, z3と 続くのです。

関連するQ&A