Я использую datasets::airquality
, так как вы не передали свои данные. Идея здесь в том, что вам нужно, чтобы ваши данные (в данном случае это mean
) в качестве переменной в вашем среднем значении, поэтому gganimate
может нарисовать связь между значением и frame
(то есть transition_time
).
Итак, я сделал группировку по frame
(здесь месяц, для вас это будет yearSeason
), а затем изменил столбец со средним значением моих желаемых переменных. Затем в geoms
я использовал эту добавленную переменную вместо получения mean
внутри geom
. Смотри ниже;
library(datasets) #datasets::airquality
library(ggplot2)
library(gganimate)
library(dplyr)
g <- airquality %>%
group_by(Month) %>%
mutate(mean_wind=mean(Wind),
mean_temp=mean(Temp)) %>%
ggplot()+
geom_point(aes(Wind,Temp, col= Solar.R))+
geom_hline(aes(yintercept = mean_temp), color='blue',linetype='dashed')+
geom_vline(aes(xintercept = mean_wind), color='green',linetype='dashed')+
scale_color_gradient(low='yellow',high='red')+
theme_classic()+
xlab("Wind")+
ylab("Temp")+labs(color="Solar.R")
animated_g <- g + transition_time(as.integer(Month))+labs(title='Month: {frame_time}')
animate(animated_g, nframes=18)
Создан в 2019-06-09 пакетом представ. (v0.3.0)