前回までは2Dプロットについて紹介してきたが、今回からgnuplotによる3Dプロットする方法について紹介する。
1. 基本的な3Dプロットの方法
3Dプロットする変数はx
,y
を使用することができる。例えば関数f(x,y)を次のように定義する。
f(x,y)=exp(-(x**2+y**2)/20)
f(x,y)を3Dプロットするためにはコマンドsplot
を用いる。
splot f(x,y)
実行すると以下のグラフが得られる。
2. 描画範囲の設定
プロットの描画範囲はデフォルトでX,Yは-10~10, Zについては0~1に設定されている。描画範囲を変更するにはX,Yについては2Dプロットと同様にコマンドset xrange[下限:上限]
, set yrange[下限:上限]
を使用し、Zについてはset zrange[下限:上限]
で設定することができる。例えばZの描画範囲を0~2にするには
set zrange [0:2] replot
以下のようにZの範囲を変更したためピークが低く描画されたプロットが得られる。
3. サンプル密度の変更
3Dプロットの網目がサンプルを表しているが、デフォルトのサンプル数はX,Yそれぞれ10づつに設定されている。このためピーク付近ではサンプルが疎になっていて、表示が見にくい。そこで網目の数、すなわちサンプル数を設定するにはset isosamples
を用いる。例えばX,Yそれぞれ50にするには
set isosamples 50,50 replot
サンプル密度(網目数)が上がり、かなり見やすくなっている。
4. 陰線処理
3Dプロットを実行したときに、透過状態でプロットの裏側まで表示されるため裏側の状態を把握することに役立つ一方で、見にくくすることもある。そこで陰線処理(影に隠れる部分を見えなくする)を指定することができる。陰線処理を指定するにはset hidden3d
とする。
set hidden3d replot
透過状態で裏側まで見えていた線が、陰線処理によって見えなくなっていることが確認できる。
なお元の陰線処理をしない状態に戻すにはset nohidden3d
とする。
5. 視点の設定
3Dプロットをどこから見るかという視点を設定することができる。適当に動かすには3Dプロットが描画されているグラフウィンドウ上をクリックすると回転矢印が表示されるので、クリックボタンを押したままマウスを動かすと視点を動かすことができる。どの視点にすればよいか探る場合はこの方法がよいかもしれない。(角度情報はウィンドウ下のバーに表示される)ただし視点を固定したい場合はコマンドを用いて設定すると便利である。視点を設定するにはset view x軸まわりの回転角, z軸まわりの回転角, グラフの拡大率, z軸の拡大率
となるx軸,z軸まわりの回転角度は度数で指定する。例えば
set view 70,40,1,1 replot
以下のように視点が移動できていることが確認できる。なおデフォルトは60.30,1,1
に設定されている。現在の視点情報を表示させたい場合はshow view
とすると表示される。
6. まとめ
今回はgnuplotによる3Dプロットの基本として3Dプロットのコマンド、プロット範囲、サンプル数、陰線処理、視点の設定について紹介した。