スクリーンショット_2018-08-02_9

【gnuplot】 回転する4次元gifグラフのプログラム!

こんちは,けんゆーです.
皆さん,グラフ作成にgnuplot使ってますか?知らない人はググってね!
とにかく便利ですよね.

今日はおいらが3時間くらいハマってしまった回転する4次元グラフのコードを議事録として残しておきます.保存形式はGIFなのでPowerPointやKeynoteにはっつけても回転するので,ぜひプレゼンテーションツールでデータを見せる際に使ってくださいませ〜

4次元データとして扱うファイル:lyapunov.txt

lyapunovという名前は気にしなくて結構です笑
txtファイルは,図のようになっています.
左の列から,x軸,y軸,z軸,そこの軸に対応する値,となっています.
そこの軸に対応する値に関しては,カラーリングを施すことによって値を表現します.

4次元カラーグラフの書き方について

ターミナルから打つプログラムはこんな感じです.

gnuplot> spl "lyapunov.txt" u 1:2:3:4 w p pt 3 ps 3 lc palette
spl ( splotの略) → 3次元グラフを描写するコマンド.
u  1:2:3:4 (usingの略)  → データ列の指定.
w p (with pointsの略) → プロットスタイルの指定.他にもlinesなど多数あり
pt 3 (pointtype) →ポイントのタイプ.13種類くらいあるよ.1~13.
ps 3 (pointsize) → ポイントサイズ.
lc palette (linecolor) →色の系統を変える.パレットへ!

グラフの回転のプログラムと実際のGIFについて

gnuplot> set pm3d depthorder
gnuplot> set parametric
gnuplot> set ur[0.01:5]
gnuplot> set vr[0:4*pi]
gnuplot> spl "lyapunov.txt" u 1:2:3:4 w p pt 3 ps 3 lc palette
gnuplot> set term gif animate optimize size 480,360

Terminal type is now 'gif'
Options are 'nocrop enhanced animate delay 10 loop 0 optimize size 480,360 font "arial,12.0" '
gnuplot> set output 'move.gif'

gnuplot> do for [j = 0:90 ] {
more>    set view 60,4*j,1,1
more>    replot
more> }

smooth palette in gif: using 160 of 160 available color positions

シキノートさんのページがすごい参考になりました.というかやり方パクりました.ありがとうございます.あのサイトはまじで神です.gnuplotで魔貫光殺砲打ってます笑

みんなもシキノートさんのサイトに行って驚いてみてね〜

いいなと思ったら応援しよう!

上原賢祐@カオス研究者
よろしければサポートお願いします! 研究資金に使用させていただきます。