2

アニメーションに線を追加しようとしていますが、フレームの概念を使用して機能させることができませんでした。これは再現可能な例です:

df <- read.table(header = TRUE, text = 'key   value   bins    maxIntensity
A      4     0    1
A      1     1    1
A      0     2    1
B      3     0    2
B      2     1    2
B      5     2    2
D      2     0    1
D      3     1    1
D      0     2    1')

gganimate パッケージを使用してアニメーションを作成できます。

library('animation')
library('gganimate')

par(bg = "white") 
g <- ggplot(df, aes(xmin = df$bins, xmax = df$bins + 1, ymin = 0, ymax = df$value, frame = df$key))
g <- g + geom_rect(fill=alpha("Orange", alpha = 1))
g <- g + labs(title = "Test Histogram")
g <- g + scale_y_continuous(labels = scales::comma)
gganimate(g, ani.width=400, ani.height=400, interval = .4, "test.gif")

これはうまく機能します。

ここで、フレームごとに異なる場所に線を追加したいと思います。場所は に指定されていdf$maxIntensityます。したがって、これを追加する必要があると思います:

g <- g + geom_vline(xintercept = df$maxIntensity, lty=3, color = "black")

しかし、それは各フレームですべての行を一度に追加するだけです。各フレームに 1 行を追加する方法はありますか?

ここに画像の説明を入力

4

1 に答える 1