Создание анимированного линейного графика с использованием пакета Plotly

Я новичок в использовании пакета plotly в R и хочу анимировать линейный график. Примером было бы, если бы я строил график ВВП на душу населения (ось х) и ожидаемой продолжительности жизни (ось у) одной страны. сюжетная книга для R

data(gapminder, package = "gapminder")
    gg <- ggplot(gapminder, aes(gdpPercap, lifeExp, color = continent)) +
    geom_point(aes(size = pop, frame = year, ids = country)) +
    scale_x_log10()
    ggplotly(gg)

Я попытался создать обычный линейный график с использованием plotly и добавить аргумент frame (frame=~year), но график пуст.

Как я могу использовать возможности анимации Plotly для анимации линейного графика?

Также gganimate не подходит для меня, так как, похоже, проблема с запуском ImageMagick в Windows.

1 ответ

Решение

Вот анимированный линейный график - интерполяция между синусоидальными кривыми постоянно увеличивающейся периодичности (возможно, это сомнительная вещь, но она выглядит круто).

Вот код:

# Create a data frame with 10 sine curves with period of 1 to 10
# ranging over a set of points ranging from -pi to +pi

pdf <- NULL
for (p in 1:10){
   x <- pi*(-100:100)/100
   y <- sin(x*p)
   df <- data.frame(x,y,p)
   pdf <- rbind(pdf,df)
}

# now plot it with the animation control "frame" set to "p"

plt <- plot_ly(pdf, x = ~x, y = ~y, frame=~p, type = 'scatter', mode = 'lines')
plt

А вот как это выглядит в начале анимации (кадр 1):

Другие вопросы по тегам