niszetの日記

細かい情報を載せていくブログ

ImageMagick

Rのgganimateを使ってみる

アニメーションするプロットが欲しい

会社でRを使っていますが、結局のところはプロットして結果を見やすくしたいのが目的です。

その中で、例えば時間が経過するとどのように値が変わるのか?などは横軸時間でプロットしても良いけども、点ごとの動きを見ようとしたらちょっとごちゃごちゃしてしまいます。そこで、それぞれの時間での値をプロットして、アニメーションさせて切り替えれば良いのでは?という話が出てきたのです。

tweenrというパッケージがある

先日、yutannihilationさんに教えていただいたのですが、tweenrというパッケージがあるとのこと。

github.com

こちらはあるフレームとあるフレームの中間のフレームを作りたいときに使うと便利、という使い方になります。アニメーション自体は後述のgganimateのようなので、まずはそちらから使いこなそうと思います。

Rでプロットをアニメーションさせるにはgganimateパッケージ

ggplotじゃない、昔のplotでどうやるのかはわからないですが、ggplot系ではgganimateを使うようです。

www.karada-good.net] 実際、gganimateはImageMagickを呼んでいるのでImageMagickがインストールされてパスが通っている必要があるようです。

ImageMagickの最新バージョンだと動かない…

gganimateは内部でImageMagickのconvertというコマンドを呼んでいるようなのですが、ImageMagickの7からこのコマンドがなくなったらしい(magickというコマンドに置き換わった)

[Resolved] convert.exe missing from 7.0.1-Q16? - ImageMagick

windowsではconvertはFAT32からNTFSに変換するためのコマンドでもあるため(が、理由かは見れてませんが)のようで。

とりあえず動かすという意味ではImageMagickの6.9.*を使えばよいと思います。ただし、上記の件があるので自己責任で使うことになるでしょうけど。

Windows10で6.9.8.4 Q8 x64を入れ、convertコマンドがImageMagickのものを指していることを確認してからtweenrのサンプルを実行したら動きましたので、ようやく準備が出来たのでした。

gganimate自体は今も更新がされているので、ImageMagick7のwindows環境で動かない、というのはレアケース過ぎて報告されてないのかもしれないですね。

Issueにはそれぽいものが

github.com

あれー…?私のは勘違いなのかしら。ちょっとこちらも試してみますか。