日々gnuplotでデータの可視化を行っているが,ふと,「前のアレ,どうやったっけ?」となることも多い.
そこで,これからgnuplotのコマンドセットを何度かに分けて備忘録的に記録していこうと思う.
今回はpm3d
を用いた3Dカラーマップグラフを作成する.
Microsoft Windows 10 Home (64bit)
Gnuplot Version 5.2 patchlevel 0
3Dカラーマップを生成するデータは,いわゆる2次元配列である.
データファイルのフォーマットとしては,非一様matrixデータ構造 (nonuniform matrix) とトリプレットデータ構造 (triplet form) の2種類がある.
トリプレットデータ構造の方が出力が楽で,正方形格子以外にも使えるなどのメリットがあり,非一様matrixデータ構造はファイルサイズがトリプレットデータ構造に比べて1/3程度であるというメリットがある.
▶ データファイル (matrix.dat [785,245 byte])
<N+1> <x0> <x1> <x2> ... <xN> <y0> <z0,0> <z1,0> <z2,0> ... <zN,0> <y1> <z0,1> <z1,1> <z2,1> ... <zN,1> : : : : ... :
▶ データファイル (triplet.dat [2,317,792 byte])
<x0> <y0> <z0,0> <x0> <y1> <z0,1> : : : <x0> <yN> <z0,N> <x1> <y0> <z1,0> : : :
set pm3d set pm3d map set ticslevel 0 set size ratio -1 set palette defined (0 "black", 1 "white") set ylabel "[m]" set xlabel "[m]" set cblabel "{/Consolas:Italic I} []" set format cb "%.2f" r = 4e-4 set xtics format "%.0tx10^{%T}" set ytics format "%.0tx10^{%T}" set cbtics format "%.1tx10^{%T}" set xrange[-r:r] set yrange[-r:r] set xtics r/2 set ytics r/2 set zrange[0:] # matrixの場合 splot "matrix.dat" nonuniform matrix u 1:2:3 with pm3d ti "" # tripletの場合 splot "triplet.dat" u 1:2:3 with pm3d ti "" set tics font "Consolas,12" set key font "Consolas,12" set title font "Consolas,12" set xlabel font "Consolas,12" set ylabel font "Consolas,12" set zlabel font "Consolas,12" set y2label font "Consolas,12" set cblabel font "Consolas,12" set terminal pdf enhanced color size 6.0in, 4.5in set output "graph.pdf" replot set output set terminal wxt
set size ratio -1
set cblabel "{/Consolas:Italic I} []"
set tics font "Consolas,12" set key font "Consolas,12" set title font "Consolas,12" set xlabel font "Consolas,12" set ylabel font "Consolas,12" set zlabel font "Consolas,12" set y2label font "Consolas,12" set cblabel font "Consolas,12"
set terminal pdf enhanced color size 6.0in, 4.5in;
r = 4e-4
set xrange[-r:r] set yrange[-r:r] set xtics r/2 set ytics r/2
range
を設定set zrange[0:]
下限を黒,上限を白とした.
set palette defined (0 "black", 1 "white")
名前
Email (※公開されることはありません)
コメント