MENU

溶けかけてるうさぎ HP GALLERY BLOG TOP RECENT ARTICLES POPULAR ARTICLES ABOUT THIS BLOG

CATEGORY

大学 (140) 仕事 (17) 航空宇宙 (104) 写真 (78) 旅行 (32) 飯・酒 (17) コンピュータ (119) その他 (44)

TAG

ARCHIVE

RECENT

【写真】撮影写真を Map 上に表示できるようにした 【カメラ】X100 シリーズが好きすぎる(主にリーフシャッタ) 【カメラ】X100V から X100VI に買い替えました 【自宅サーバー】Google Domains から Cloudflare にドメインを移管 【カメラ】FUJIFILM XF レンズのサイズ比較ができるようにしてみた

【gnuplot】3Dカラーマップグラフのコマンドセット

事象発生日:2017-10-11

記事公開日:2017-10-11

アクセス数:17777

日々gnuplotでデータの可視化を行っているが,ふと,「前のアレ,どうやったっけ?」となることも多い.

そこで,これからgnuplotのコマンドセットを何度かに分けて備忘録的に記録していこうと思う.

 

今回はpm3dを用いた3Dカラーマップグラフを作成する.

1.実行環境

Microsoft Windows 10 Home (64bit)

Gnuplot Version 5.2 patchlevel 0

2.データフォーマット

3Dカラーマップを生成するデータは,いわゆる2次元配列である.

データファイルのフォーマットとしては,非一様matrixデータ構造 (nonuniform matrix) とトリプレットデータ構造 (triplet form) の2種類がある.

トリプレットデータ構造の方が出力が楽で,正方形格子以外にも使えるなどのメリットがあり,非一様matrixデータ構造はファイルサイズがトリプレットデータ構造に比べて1/3程度であるというメリットがある.

非一様matrixデータ構造

データファイル (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>
  :      :      :      :    ...   :
非一様matrixデータ構造

トリプレットデータ構造

データファイル (triplet.dat [2,317,792 byte])

<x0>   <y0>   <z0,0>
<x0>   <y1>   <z0,1>
  :      :      :
<x0>   <yN>   <z0,N>

<x1>   <y0>   <z1,0>
  :      :      :
トリプレットデータ構造

3.コマンドセットと出力

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
コマンドセット
PDF出力画像

4.Tips

x軸y軸の比率を1:1に

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;

gnuplot内で変数を宣言する

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")

5.出典サイト

Official gnuplot documentation. gnuplot 5.0. Retrieved October 11, 2017, from http://www.gnuplot.info/docs_5.0/gnuplot.pdf
シキノート. GNUPLOTのカラーマップ. Retrieved October 11, 2017, from http://slpr.sakura.ne.jp/qp/pm3d-colormap/

関連記事

コメントを投稿

名前

Email (※公開されることはありません)

コメント