web-dev-qa-db-ja.com

gganimateフレームタイトルのラベルを変更する

アニメーションシーケンスをレンダリングするためにgg_animate()が呼び出されたときに設定できるgganimateのオプションをざっと見てみると、フレームタイトルを変更して、より明確にするオプションがないようです。フレームが基づいているパラメータが何であるかのオブザーバー。

言い換えると、レイヤー内のframe = yearを想定します。フレームのタイトルをyear: ####にするにはどうすればよいですか?ここで、####は現在のフレームの年です。何かが足りないのですか、それともgganimateライブラリの制限ですか?

回避策によって同じ結果をどのように達成しますか?アドバイスをしてくれてありがとう。

17
Nicola Pasquino

新しいgganimateAPIの更新

gganimate新しいAPI で再設計されました。これで、フレームタイトルを以下のコードでアニメーション化できます。 _state_length_および_transition_length_は、特定の「状態」(ここではcylの特定の値を意味します)および状態間の遷移に費やされる相対時間を設定します。

_p = ggplot(mtcars, aes(wt, mpg)) + 
  geom_point() + 
  transition_states(cyl, transition_length=1, state_length=30) +
  labs(title = 'Cylinders: {closest_state}')

animate(p, nframes=40)
_

gganimateは、devtools::install_github('thomasp85/gganimate')を実行することでgithubからインストールできます。

元の回答

フレームのサブセット値は、既存のタイトルに追加されます。したがって、説明テキスト付きのタイトルを追加できます。例えば:

_library(gganimate)

p = ggplot(mtcars, aes(wt, mpg, frame=cyl)) + geom_point() + 
    ggtitle("Cylinders: ")

gg_animate(p)
_

以下のGIFでわかるように、接頭辞「Cylinders:」がタイトルのcylの値の前に追加されています。

enter image description here

24
eipi10