gnuplotのグラフ調整
今回は実験で出たデータをgnuplotでグラフとして出力していいく過程をメモっていこうと思います。
- 実験データをcsvファイルとして得る
- gnuplotのスクリプトを書く。
- gnuplotに読み込ませる という感じのワークフローかなと思います。
gnuplotのバージョン確認
まずはgnuplotをターミナルから起動します。
gnuplot
とキーを叩くとgnuplotの画面がターミナル上に出るので、以下のようにshow versionと打つとバージョンが確認できます。
gnuplot> show version
G N U P L O T
Version 5.2 patchlevel 8 last modified 2019-12-01
Copyright (C) 1986-1993, 1998, 2004, 2007-2019
Thomas Williams, Colin Kelley and many others
gnuplot home: http://www.gnuplot.info
faq, bugs, etc: type "help FAQ"
immediate help: type "help" (plot window: hit 'h')
個人的コンピューター系のつまずきポイントとして、バージョンが違っててググって見つけたコマンド打っても同じ結果が得られない。というものがあるので、ここに自分のバージョンをメモしておこうと思った次第です。
コマンドを書いたスクリプトファイルを作っておく
基本的に、gnuplotのデフォルトだとラベルの文字が小さいとかいろいろ直したいところがでてくるので、それを修正したい。しかし、毎回コマンドを打っていくのは面倒だし、コマンドを忘れる。
そのため、上記のように、gnuplot上でx軸、y軸とかを毎回打ち込んでいくのは大変なので、必要そうなコマンドを予め、一つのファイルに書いてそれをgnuplot上で読ませるのがいいかと思いました。
こうすることで、グラフを出力する際に同じ結果が毎回得られてチェックするのも便利ですね。
必要な要素
- x軸、y軸のラベル
- 読み込ませたcsvファイルデータのタイトル
- イタリック表記
- csvファイルを読み込ませるためのコマンド
- x軸、y軸、凡例、グラフメモリなどのフォント、文字の大きさ ざっくりとこんな感じのことができれば嬉しいなという感じですね。
実際のスクリプト案
#はコード内のコメント
set datafile separator "," #読み込むデータファイルを,で区切ったもの時に使う
set tmargin 3 #上部のマージンの設定
set rmargin 5 #右側のマージンの設定
set bmargin 5 #下部のマージンの設定
set lmargin 10 #左側のマージンの設定
set xlabel "Time (h)" # x軸の名前を決める
set ylabel "Curvature (degrees)" #y軸の名前を決める
set xlabel font "フォント名, サイズ" #x軸のフォントとサイズ
set ylabel font "Arial,20" #y軸のフォントとサイズ
set key font "Arial,20" #凡例のフォントとサイズ
set key left Left reverse #グラフの判例を左上にする
set tics font "Arial,14" #グラフの軸メモリのフォントとサイズ
set xtics 2 #x軸のメモリ間隔を2ずつに。どのくらいの間隔を空けるかはデータ次第
#以下は実際にグラフを出力していくコマンド
plot [0:8.5] [-10:105]"名前1.csv" with yerrorlines title "野生型", "名前2.csv" with yerrorlines title "グラフタイトルを書く", "名前3.csv" with yerrorlines title "{/:Italic mutant}", "名前4.csv" with yerrorlines title "{/:Italic mutant2}"
とりあえずこんな感じ。
各コマンドの意味
plot [0:8.5] [-10:105] #x軸、y軸の範囲を決める。最初の[]がx軸、後のがy軸
with yerrorlines # ファイルないのデータをどうプロットするのかを決める。yerrorlinesは(ここでは)csvファイルないのデータがex) 0,2,4とかで入っているとそれぞれ、x,y,エラーバーとしてプロットされる。
title " タイトル名 " #ここが凡例のところの名前になる
{/:Italic イタリックにしたい名前} #Italic にしたい時に入力。x,y,凡例とかのラベルは最初のsetで決まってるのでOK
とりあえずはこんな感じで順次必要になってきた時にまた、更新したいと思います。
関連記事
Latex関連
Latexプリアンブル設定:%、イタリックのフォントが微妙だったので変えてみた。
Latexコマンドメモ。上付き文字 下付き文字、℃、化学式、学名のイタリック体、μ。
無料文献管理ソフトMendeleyとLatexの連携で引用文献リストの自動化
Linux エラー】ロック /var/lib/dpkg/lck-frontendが取得できませんでした
Latexエラー:“Extra }, or forgotten \endgroup”