web-dev-qa-db-fra.com

Définir la taille du .gif créé par gganimate

J'utilise gganimate pour créer des fichiers .gif que je souhaite insérer dans mes rapports. Je suis en mesure d'enregistrer les fichiers et de les afficher correctement, cependant, je trouve que la taille affichée est petite: 480x480. Y a-t-il un moyen d'ajuster cela - peut-être le long des lignes des arguments height et width dans ggsave()?

Je peux zoomer mais cela affecte mal la qualité et la rend plutôt illisible pour mon cas d'utilisation.

Voici un exemple de code:

gplot<- ggplot(gapminder, aes(x = gdpPercap, y = lifeExp, colour = continent, 
               size = pop, frame = year)) +
        geom_point(alpha = 0.6) + scale_x_log10()

gganimate(gplot, "test.gif")

Ci-dessous la sortie de ce code.

test.gif

14
Gautam

Vous pouvez soit régler les paramètres généraux:

animation::ani.options(ani.width= 1000, ani.height=1000, ani.res = 1000)

ou modifiez les paramètres de chaque commande:

gganimate(gplot, ani.width= 1000, ani.height=1000, "test.gif")
1
oibaFox

Il peut y avoir des problèmes avec le package magick.

Je pense qu'une meilleure solution est d'utiliser la fonction animate() dans gganimate pour créer un objet qui est ensuite passé à la fonction anim_save(). Pas besoin d'utiliser un autre package.

library(gganimate)
library(gapminder)

my.animation <- 
  ggplot(
  gapminder,
  aes(x = gdpPercap, y = lifeExp, colour = continent, size = pop)
 ) +
geom_point(alpha = 0.6) +
scale_x_log10() +
transition_time(year)

# animate in a two step process:
animate(my.animation, height = 800, width =800)
anim_save("Gapminder_example.gif")
22
Nathan

En utilisant la nouvelle API du package gganimate , il est

library(gganimate)
library(gapminder)

gplot <- 
  ggplot(
    gapminder,
    aes(x = gdpPercap, y = lifeExp, colour = continent, size = pop)
  ) +
    geom_point(alpha = 0.6) +
    scale_x_log10() +
    transition_time(year)

magick::image_write(
  animate(gplot, width = 1000, height = 1000), 
  "test.gif"
)
10
spren9er