제목에서 알 수 있듯이 두 개의 데이터 세트에 애니메이션을 적용하고 싶습니다.
첫 번째는 매우 간단합니다.
dots <- tribble(
~x, ~y, ~time,
1, 1, 1,
1, 2, 2,
2, 2, 3,
2, 1, 4,
1, 1, 5
)
anim <- ggplot(data = dots, mapping = aes(x, y)) +
geom_point() +
transition_time(time) +
ggtitle("Frame: {frame_time}")
anim
이렇게하면 다음과 같은 흥미로운 애니메이션이 생성됩니다.
보시다시피 점은 dots
티블 의 시간 차원에 따라 이동 합니다. 카디널리티는 5 입니다. 언제 time == 2
, 언제 상자가 나타나기를 원합니다 time == 4
.
코드를 수정하면 상자가 정적으로 표시되도록 할 수 있습니다.
boxes <- tribble(
~x, ~y, ~id, ~timeb,
0.9, 1.9, 1, 2,
1.1, 1.9, 1, 2,
1.1, 2.1, 1, 2,
0.9, 2.1, 1, 2,
0.9, 1.9, 1, 2,
1.9, 0.9, 2, 4,
2.1, 0.9, 2, 4,
2.1, 1.1, 2, 4,
1.9, 1.1, 2, 4,
1.9, 0.9, 2, 4
)
anim <- ggplot(data = dots, mapping = aes(x, y)) +
geom_point() +
transition_time(time) +
ggtitle("Frame: {frame_time}") +
geom_polygon(data = boxes %>% filter(id == 1), mapping = aes(x, y), fill = NA, colour = "black") +
geom_polygon(data = boxes %>% filter(id == 2), mapping = aes(x, y), fill = NA, colour = "black")
anim
이 애니메이션을 생성합니다.
그래서 본질적으로 점이 가까워지면 상자가 나타나기를 원합니다.
나는 상자가 단순히 깜박이는 것을 원하지 않으며 다음과 같이 페이드 인 및 페이드 아웃되기를 바랍니다.
나는 다음과 같이 생산했습니다.
anim_2 <- ggplot(data = boxes, mapping = aes(x, y, group = id)) +
geom_polygon(fill = NA, colour = "black") +
transition_states(id) +
enter_fade() +
exit_fade()
anim_2
나는 이것이 의미가 있기를 바랍니다 (그리고 누군가가 이것에 대해 좋은 아이디어를 가지고 있기를 바랍니다 :)
https://github.com/thomasp85/gganimate/wiki/Tracking-of-hurricanes-and-typhoons 에서이 예를 참조하십시오.
두 기하학 (선과 점)은 각각 열을 포함하는 데이터 프레임을 나타 time
냅니다. 원칙적으로 둘 다 시간 차원에 대해 동일한 명명 된 열을 공유하는 한 두 개의 서로 다른 데이터 프레임 일 수 있습니다.
즉, transition_time
여러 도형을 "독립적으로"애니메이션 할 수 있습니다 . 상자의 모양과 사라지는 타이밍을 가지고 놀아서 점에 맞춰 표시되도록해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다