MENU

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

CATEGORY

大学 (85) 航空宇宙 (55) 写真 (25) 旅行 (14) 飯・酒 (11) コンピュータ (88) その他 (13)

TAG

ARCHIVE

2018 (92) 2017 (80) 2016 (0)

RECENT

【駅メモ】4年目に突入して,ようやく3000駅突破 【WebRTC】Raspberry Pi搭載ロボットをWebRTCで遠隔操作しようとして失敗した 【航空宇宙】航空宇宙アドベントカレンダー 始まります! 【Perl】YAPC::Tokyo 2019 のチケットを確保しました! 【カメラ】Canonから富士フイルムに乗り換えました

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

2017-10-11

日々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.関連記事

6.出典サイト

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 (※公開されることはありません)

コメント