つれづれなる備忘録

日々の発見をあるがままに綴る

gnuplotによるグラフ作成22~3Dデータプロット2

 前回はgnuplotによるデータファイルから3Dプロットをライン、ポイントでプロットする例を実行したが、今回は表面プロット、コンタ―プロットの例を紹介する。

atatat.hatenablog.com

1. データファイルから3D表面プロット

データファイルから3次元でプロットする際に表面プロットにする場合はwith pm3dを追加する。

splot "data3d.txt" with pm3d

以下のように、データファイルを表面プロットが作成される。

"データファイルを表面プロット"
データファイルを表面プロット

マトリックス形式のデータファイルに対しても、同様にwith pm3dを追加すればよい。(プロットは省略する)

splot "data3d_mat.txt" matrix with pm3d

表面プロットを真上から眺めるマップビューについても、set view mapおよび縦横比を等しくするset size squareとすることで作成できる。

set view map
set size square
splot "data3d.txt" with pm3d

"データファイルから表面プロット(マップビュー)"
データファイルから表面プロット(マップビュー)

表面プロットの表面カラーの設定などは過去記事を参照。

atatat.hatenablog.com

2. データファイルからコンタ―プロット

 コンタ―プロットで作成する場合も、以前紹介したようにset contourおよびunset surfaceとしてから`splot "データファイル名"とする。

atatat.hatenablog.com

unset surface
set contour
splot "data3d.txt"

単純にsplot "data3d.txt"とすると以下のようにポイントによるコンタ―プロットが作成される。

"コンタ―プロット(ポイント)"
コンタ―プロット(ポイント)

そこでsplot "data3d.txt" with lineとするとポイントではなくラインでコンタ―プロットが作成される。

"コンタ―プロット(ライン)"
コンタ―プロット(ライン)

以前のコンタ―プロットの記事に触れたようにset cntrlparam levelsを用いて等高線の本数を調整することができる。

set cntrparam levels 10
replot

"等高線を増やしたコンタ―プロット"
コンタ―プロット

等高線を滑らかにして、凡例を枠外にするには

set cntrparam cubicspline
set key right outside
replot

等高線を滑らかにしたコンタ―プロット

3. まとめ

 今回はデータファイルのデータから表面プロットおよびコンタ―プロットを作成する方法について紹介した。