#источник: https://t.me/rstudioprogr
library(ggplot2)
library(dplyr)
##
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
##
## filter, lag
## Следующие объекты скрыты от 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
library(gganimate)
gapminder <- read.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv")
gapminder1 <- gapminder %>% filter(country %in% c("Belgium", "Brazil", "Romania"))
m1 <- ggplot(gapminder1, aes(x = year, y = lifeExp, color = country)) + geom_line(size = 1.5) + theme_minimal() + scale_color_manual(values = c("darkblue", "slateblue", "lightblue")) + theme(axis.title.x = element_text(size = 20), axis.title.y = element_text(size = 20), axis.text.x = element_text(size = 15), axis.text.y = element_text(size = 15), legend.text = element_text(size = 15), legend.title = element_text(size = 15))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
Plot1 <- m1 + transition_reveal(year)
m <- gganimate::animate(Plot1, duration = 5, fps = 20, width = 1000, height = 1000, renderer = gifski_renderer())
##
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
##
##
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
anim_save("lifeExp.gif",animation = m)
m2 <- ggplot(gapminder1, aes(x = year, y = lifeExp, fill = country)) + geom_col(position = "dodge") + theme_minimal() + scale_fill_manual(values = c("darkblue", "slateblue", "lightblue")) + theme(axis.title.x = element_text(size = 20), axis.title.y = element_text(size = 20), axis.text.x = element_text(size = 15), axis.text.y = element_text(size = 15), legend.text = element_text(size = 15), legend.title = element_text(size = 15))
Plot1 <- m2 + transition_reveal(year)