この記事を読むとできるようになること
gnuplotを使って,連番データファイルから,連番画像を保存せず一気にgif動画を作れるようになる
動画の作り方については,一旦,連番画像を作成したのち,それらをつなげる方法をよく見かけます.
しかし,これでは二度手間ですし,画像ファイルがいっぱいになってしまい大変です.
ですので,データファイルから一気に動画を作ってみましょう.
- 環境
- macOS Mojave 10.14.4
- gnuplot 5.2.6
gif.gp
#軸やラベルの設定など
...(省略)...
#最後の動画サイズはお好みで
set term gif enhanced animate optimize size 700, 480
set output ‘anime.gif’
#連番データファイルを次々に読み込んで描いていく
#do for[i=初めの番号:終わりの番号:読み飛ばす刻み]
do for[i=0:100:2]{
filename = sprintf('0%03d.dat', i)
#タイムステップを表示
plot_title = sprintf('timestep=%d', i)
set title plot_title
#plot[x軸の範囲][y軸の範囲]
plot[0:1][0:1] filename u 1:2 w l
}
set out
reset
set term aqua
do for
部分で,0000.datから0100.datを,1つ飛ばしで読み込んで繰り返し描画しています.
動画がカクカクしない程度に読み飛ばすと,gifファイルが重くなるのを防ぐことができます.
タイムステップも表示するようにしました.
gif.gp
を実行するとanime.gif
が作成されます.