web-dev-qa-db-ja.com

gganimateによって作成された.gifのサイズを定義する

gganimateを使用して、レポートに挿入する.gifファイルをいくつか作成しています。ファイルを保存して問題なく表示することはできますが、表示されるサイズが480x480と小さいことがわかりました。それを調整する方法はありますか-おそらくggsave()heightおよびwidth引数の行に沿って?

ズームインすることはできますが、品質への影響は少なく、ユースケースでは読みにくくなっています。

ここにいくつかのサンプルコードがあります:

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")

以下はこのコードの出力です。

test.gif

14
Gautam

一般的な設定を調整できます。

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

または、各単一コマンドの設定を変更します。

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

magickパッケージの使用に問題がある可能性があります。

より良い解決策は、gganimateanimate()関数を使用して、anim_save()関数に渡されるオブジェクトを作成することです。別のパッケージを使用する必要はありません。

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

gganimate パッケージの新しいAPIを使用すると、

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