3Dプロットを半自動で回す

  • 昨日の続き
  • こちらを参照。少し変えてあります。
  • 2つのファイルを用意します。"File1.plt"と"File2.plt"の2つです
  • 読み込みますので、カレントディレクトリに置いておくのがよいです。
  • "File1.plt"は以下のように、初期設定をして、繰り返しプロットをするコマンドを書いたファイルである"File2.plt"を読み込む役割をします。
# File1.plt
reset
set view 45, 30
set nokey
set hidden3d
set isosamples 30,30
set contour both
set cntrparam levels incremental -1.2,.3,1.2
set cntrparam levels discrete 0
a=30
count=0
load "File2.plt"
  • "File2.plt"は次の通りです。"data.txt"なる3次元プロット

用の3カラムファイルを"splot"コマンドで3次元プロットしています。繰り返し処理をcountのincrementで行いつつ、set view コマンドで視点を変化させています

count=count+1
a=a+2.25
set view 45+2*a, 30+a
#splot sin(a-sqrt(x**2+y**2)) 
splot "data.txt"
if(count <10000) reread
  • 実行方法
    • 次のように"File1.plt"を読み込ませます。
>gnuplot load "File1.plt"
    • リンク先からコピーさせていただいた記述にちょっと変更したファイルなので、Warningsがプロットの繰り返しの度にでます(パラメタ範囲などが不適切)が、ひとまず、ぐるぐると視点が変わったので、よしとします。あとは、パラメタを適切にするのと・・・animation gif(複数のgifが束ねられたファイルに保存する・・・)ことです。"gnuplot gif animation 3d"などで検索すればぽろぽろとそれらしいサイトが見つかります
    • gifのファイルを連番で複数作り、gifsicleコマンド(こちら)でつなぎ合わせる