Круг между звездочками в кадре данных xy с использованием библиотеки (tweenr) - PullRequest
0 голосов
/ 25 февраля 2019

Я могу трансформировать фигуры, представленные в виде простой геометрии элемента, хорошо.Мне нужно сделать то же самое с фигурами, хранящимися в стандартном x, y кадре данных.

Почему метод x, y dataframe у меня не работает?

Использование простых функций - Работает нормально

library(tidyverse)
library(gganimate)
library(transformr)

star1 <- sf::st_sfc(poly_star(n = 7, st = TRUE))
circle1 <- sf::st_sfc(poly_circle(st = TRUE))

df1 <- data.frame(
  id = c(1),
  geo = c(star1)
)

df2 <- data.frame(
  id = c(1),
  geo = c(circle1)
)

morph <- tween_sf(df1, df2,
                  ease = 'linear', 
                  nframes = 12, 
                  id = id)  

ani <- ggplot(morph) +
  geom_sf(aes(geometry = geometry)) +
  transition_time(time = .frame) +
  theme(legend.position = "none") 

show <- animate(ani, nframes = 30, fps = 30, 
                renderer = gifski_renderer(loop = FALSE), start_pause = 15)

show

Использование x, y dataframe - Morph не работает

library(tidyverse)
library(gganimate)
library(transformr)
library(tweenr)


star7 <- poly_star(n = 7, st = FALSE)

star10 <- poly_star(n = 10, st = FALSE)

morph <- tween_state(star7, star10,
                     ease = 'linear', 
                     nframes = 12, 
                     id = id)  

ani <- ggplot(morph) +
  geom_polygon(aes(x = x, y = y, group = id)) +
  transition_time(time = .frame) +
  theme(legend.position = "none") 

show <- animate(ani, nframes = 30, fps = 30, 
                renderer = gifski_renderer(loop = FALSE), start_pause = 15)

show

1 Ответ

0 голосов
/ 26 февраля 2019

Я думаю, что искал:

morph <- tween_polygon(star7, star10,
                     ease = 'linear', 
                     nframes = 12, 
                     id = id)  
...