Создание анимированного линейного графика с использованием пакета 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):