gnuplotでlatex数式を埋め込んできれいな図を作る方法
gnuplotからtikzとして出力してpdflatexで処理すると高画質なグラフが手に入る。もちろんlatexの美しい数式が使える。
set term tikz createstyle #gnuplot用のlatex styleファイルを同じフォルダに出力 set term tikz standalone size 5in,3in #standalone指定でそのままpdflatexで処理できる set output "hoge.tex" #拡張子はtexにする set xlabel "$x$" #ドルマークで囲めば数式として出力できる set ylabel "$\\theta$" #バックスラッシュ( \ )はgnuplot上で意味を持つので、エスケープさせるために二つ書く
gnuplot上で動かすならこれで良いが、shellscriptからgnuplotを動かしてtikzに出すとき、バックスラッシュ " \ " を二重でエスケープしないといけない。
例)hoge.sh
#!/bin/bash gnuplot <<EOF set term tikz createstyle #gnuplot用のlatex styleファイルを同じフォルダに出力 set term tikz standalone size 5in,3in #standalone指定でそのままpdflatexで処理できる set output "hoge.tex" #拡張子はtexにする set xlabel "$x$" #ドルマークで囲めば数式として出力できる set ylabel "$\\\\theta$" #バックスラッシュ( \ )をshell script上でエスケープさせるには \\ と二つ入力すれば良いが、gnuplot上でも二つ書いてエスケープしないといけないので、"\"を1つ表示させるためには4つ書く必要がある plot sin(x) w lp #関数をプロット EOF
いずれにせよ、こうすると一群のスタイルファイル
gnuplot-lua-tikz-common.tex
gnuplot-lua-tikz.sty
gnuplot-lua-tikz.tex
とグラフを記述した
hoge.tex
というファイルが出力されるので
$pdflatex hoge.tex
と処理すればpdfファイルが得られる。
ただし、pm3d mapなどを使うと異常に重くなるのでgnuplotから直接pngで出力するのが良さそう。