Hier ist ein reproduzierbares Beispiel eines statischen Diagramms, das ich animieren möchte (ich möchte zeigen, wie sich ein MCMC-Sampler verhält).
library(tidyverse)
library(gganimate)
set.seed(1234)
plot_data <- tibble(x=cumsum(rnorm(100)),
y=cumsum(rnorm(100)),
time=1:length(x))
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() + geom_line()
Was ich sehen möchte, ist, dass die Punkte sichtbar sind, wenn sie gezeichnet und danach etwas verblasst werden (dh Alpha geht von z. B. 1 auf 0,3), während es eine Linie gibt, die nur die jüngste Geschichte zeigt (und im Idealfall verblasst, um die zu zeigen) jüngste Geschichte am wenigsten verblasst und mehr als ein paar Schritte zurück völlig verschwunden).
Das Folgende erreicht mehr oder weniger das, was ich für meine Punkte möchte (in gewissem Sinne möchte ich nur verblassende Linien zu dieser Verbindung der letzten Punkte hinzufügen - Punkte, die über einige Frames langsamer verblassen, wären sogar noch schöner):
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
Ich habe Probleme damit, zwei verschiedene Verhaltensweisen für zwei Geome hinzuzufügen, z. B. Punkt und Linie. ZB unten verschwinden die Punkte (ich möchte nicht, dass sie es tun) und die Linien verblassen nicht (ich möchte, dass sie es tun).
p <- ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
p + geom_line() +
transition_reveal(along = time) +
shadow_mark(past = T, future=F, alpha=0.3)