Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【gnuplot】途中経過不要、画像出力だけをしたいとき

(元記事 2012/02/09)

X11上でplotして、最終的にset terminal pdfやpngで画像に落とし込むのはグラフ作成ではよくやる

 

しかし何度も同じことをするのが面倒な人はシェルスクリプトなんて使っちゃう。

欲しいのは画像なので、その過程は特に見る必要がない・・・(途中で失敗してる場合は見ないとダメだけど)

そこで途中経過を生成しないようにするには・・・・


gnuplotを使った何かしらシェルスクリプト

#!/bin/sh
gnuplot <<EOF
set terminal pdf
plot sin(x)
replot cos(x)
set output "test_file.pdf"
replot
EOF

最初からset terminal pdfを選択してそのままplot
しかし、このまま使うとターミナルに変な文字がいっぱい表示される・・・

 

そこでいらない出力は捨ててしまう・・・
最後にreplotすればおkなのだから

 

gnuplotを使った画像のみを出力するシェルスクリプト

#!/bin/sh
gnuplot <<EOF
set terminal pdf
set output '/dev/null'
plot sin(x)
replot cos(x)
set output "test_file.pdf"
replot
EOF

 

ちなみにset output "XXX"の場所を間違えると、
重ね書きではなく単なる1つのグラフがいっぱいできてしいまうので注意が必要