gnuplotのアニメーション例 : グラフのプロット領域を変化させる

これまでいくつかgnuplotでアニメーションを作成する話を書いて来たので、実際にアニメーションを作ってみるという話もしていこうと思います。
作り方だけ覚えておくより実際に使っていって自然と使いこなせるようになった方が利点がありますし、使っていく中でどのような表現が可能なのかもつかめるかも知れませんので。

グラフのプロット領域を変化させるアニメーション

プロットする関数自体を変化させてアニメーションを作るのはよくありますが、プロット領域の方を変化させることも出来ます。このとき変化させるパラメーターはx軸、もしくはy軸(3次元プロットならz軸も)の範囲指定の値。この値を変数として扱うことで、プロット領域を変化させるアニメーションを作成することが出来ます。

以下、sin(x), cos(x)の関数をプロットしたグラフのx軸の範囲を変化させる場合のコマンドと実際のアニメーションになります。ここでは出力端末はQtを使っています。画像ファイルを連続出力する場合はそれ用の処理に組み替える必要があります(その場合はこちらのブログ記事を参考にしてみて下さい)。
始めに簡単に説明しておくと、アニメーション用のループ処理としてはwhileコマンドを用いています。変数としてmを使用し、これをplotコマンドのx軸範囲指定の部分([m:m+5])に用いています。例えばm=0ならx軸範囲は[0:5]となり、m=12なら[12:17]となります。
gnuplot> set grid lw 2
gnuplot> set xtics 0.5; set ytics 0.2
gnuplot> set format '%.1f'
gnuplot> m=0;while (m<=30){plot [m:m+5] sin(x) lw 3 lc rgb 'red', cos(x) lw 3 lc rgb 'blue'; m=m+0.02; pause 0.03}





とりあえず簡単なアニメーション作例としてやってみました。また何かネタが思いついたら続けていこうと思います。

gnuplot関連のブログ記事

コメント

スポンサーリンク


このブログの人気の投稿

gnuplotでプロットなどの色をcolornameの指定で変更する

catコマンドの出力を行番号付きにするためのコマンドラインオプション(-n, -b)

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)