2017-12-07 3 views
0

Ich habe ein Array var1 von 94 Nummern. Ich möchte, dass sie in einem Gif mit einem definierten Intervall (z. B. 0,05 Sekunden) angezeigt werden. Wenn möglich, möchte ich auch eine Nummernzeile hinzufügen. Ich erwarte, dass ein Bild wie dieses (animiert, natürlich), um zu sehen:Wie erstellt man eine Animation, die ein Array von geordneten Zahlen mit Zahlenzeile zeigt?

=============================== =========================

cov1 = 2,34

---------- | --- ----------------------------------> cov1

_____ 2,34

= ================================================= =====

Es ist mir einfach gelungen, das gganimate Paket für einige Plots zu verwenden, aber dann erkannte ich, dass ich auch etwas animieren musste, das keine Plots sind ... Vielleicht etwas, das mit dem animation Paket zusammenhängt?

Danke!

Antwort

1

Es scheint nicht besonders aufschlussreich (in der Tat gibt es mir Kopfschmerzen, um es anzuschauen), aber es ist animiert.

library(tidyverse) 
library(gganimate) 

set.seed(10) 
dat = data.frame(x=sort(runif(94, 0, 100))) 

p = ggplot(dat) + 
    geom_line(data=data.frame(y=rep(c(0.90,0.905,1.095,1.1),each=2), x=rep(range(dat$x), 4)), 
      aes(x,y,group=y), size=1, colour="grey40", linetype=2) + 
    geom_line(aes(x,y=1), colour="grey60", size=1.5, linetype="11") + 
    geom_text(aes(label=paste0("COV1\n", round(x,2)), x=x, y=1.05, frame=x), size=5) + 
    geom_segment(aes(x=min(dat$x), xend=x, y=1, yend=1, frame=x), 
       arrow=arrow(angle=90, length=unit(0.4, "cm")), size=1.5) + 
    scale_y_continuous(limits=c(0.8,1.1)) + 
    theme_void() + 
    theme(plot.title=element_blank()) 

gganimate(p, filename="my_gif.gif", interval=0.05) 

enter image description here

Verwandte Themen