R āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸā§‡āĻĄ āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

R āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸā§‡āĻĄ āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸā§‡āĻĄ āĻŦāĻžāĻ° āĻšāĻžāĻ°ā§āĻŸ āĻ¯āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§‹āĻ¸ā§āĻŸā§‡ āĻāĻŽā§āĻŦā§‡āĻĄ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ•ā§āĻ°āĻŽāĻļ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻĻā§‡āĻ–āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ R āĻāĻŦāĻ‚ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

Skillbox āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°ā§‡: āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ• āĻ•ā§‹āĻ°ā§āĻ¸ "āĻļā§āĻ°ā§ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€".

āĻ†āĻŽāĻ°āĻž āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻšā§āĻ›āĻŋ: "Habr"-āĻāĻ° āĻ¸āĻ•āĻ˛ āĻĒāĻžāĻ āĻ•āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ - "Habr" āĻĒā§āĻ°āĻšāĻžāĻ°āĻŽā§‚āĻ˛āĻ• āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ Skillbox āĻ•ā§‹āĻ°ā§āĻ¸ā§‡ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ 10 āĻ°ā§āĻŦā§‡āĻ˛ āĻ›āĻžāĻĄāĻŧāĨ¤

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĻāĻ°āĻ•āĻžāĻ°:

āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, tidyverse, āĻĻāĻžāĻ°ā§‹āĻ¯āĻŧāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§‡āĻ˛ āĻĄā§‡āĻŸāĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡, āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤

āĻāĻ‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻŽā§‚āĻ˛ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¤āĻž āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻ‚āĻ•ā§‡āĻ° āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¤āĻžāĻ°āĻž - āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻ‚āĻ• āĻĄā§‡āĻŸāĻž. āĻāĻ•āĻ‡ āĻĄā§‡āĻŸāĻž, āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ°ā§‡āĻĄāĻŋāĻŽā§‡āĻĄ, āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°.

āĻāĻŸāĻž āĻ•āĻŋ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¤āĻĨā§āĻ¯? āĻ¨āĻŽā§āĻ¨āĻžāĻ¯āĻŧ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻĻā§‡āĻļā§‡āĻ° āĻœāĻŋāĻĄāĻŋāĻĒāĻŋ āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻŦāĻ›āĻ° āĻ§āĻ°ā§‡ (2000 āĻĨā§‡āĻ•ā§‡ 2017 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤)āĨ¤

āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻœāĻžāĻ¤āĻ•āĻ°āĻŖ

āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨ā§€āĻšā§‡ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻ¨āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻŋ, āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ gather() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ†āĻ°āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ gdp_tidy.csv āĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋāĨ¤

library(tidyverse)
library(janitor)

gdp <- read_csv("./data/GDP_Data.csv")

#select required columns

gdp <- gdp %>% select(3:15)

#filter only country rows

gdp <- gdp[1:217,]

gdp_tidy <- gdp %>%
mutate_at(vars(contains("YR")),as.numeric) %>%
gather(year,value,3:13) %>%
janitor::clean_names() %>%
mutate(year = as.numeric(stringr::str_sub(year,1,4)))

write_csv(gdp_tidy,"./data/gdp_tidy.csv")

āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸā§‡āĻĄ āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽ

āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§ƒāĻˇā§āĻŸāĻŋāĻ° āĻĻā§āĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨:

  • ggplot2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§‡āĻŸ āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻžāĨ¤
  • gganimate āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸āĻš āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤

GIF āĻŦāĻž MP4 āĻ¸āĻš āĻ•āĻžāĻ™ā§āĻ–āĻŋāĻ¤ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻļāĻ¨ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĨ¤

āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ˛ā§‹āĻĄ āĻšāĻšā§āĻ›ā§‡

  • āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ (āĻĒāĻ°āĻŋāĻĒāĻžāĻŸāĻŋ)
  • āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ (āĻ—ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸ)

āĻĄāĻžāĻŸāĻž āĻŦā§āĻ¯āĻžāĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž

āĻāĻ‡ āĻ§āĻžāĻĒā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻŦāĻ›āĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻ°āĻž 10āĻŸāĻŋ āĻĻā§‡āĻļ āĻĒā§‡āĻ¤ā§‡ āĻĄā§‡āĻŸāĻž āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

gdp_tidy <- read_csv("./data/gdp_tidy.csv")

gdp_formatted <- gdp_tidy %>%
group_by(year) %>%
# The * 1 makes it possible to have non-integer ranks while sliding
mutate(rank = rank(-value),
Value_rel = value/value[rank==1],
Value_lbl = paste0(" ",round(value/1e9))) %>%
group_by(country_name) %>%
filter(rank <=10) %>%
ungroup()

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž

āĻāĻ–āĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ†āĻ›ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ†āĻāĻ•āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋāĨ¤ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ¤āĻĨā§āĻ¯ - āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻœāĻŋāĻĄāĻŋāĻĒāĻŋ āĻ¸āĻš āĻļā§€āĻ°ā§āĻˇ 10āĻŸāĻŋ āĻĻā§‡āĻļāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋ āĻŦāĻ›āĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§āĻ°āĻžāĻĢ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤

staticplot = ggplot(gdp_formatted, aes(rank, group = country_name,
fill = as.factor(country_name), color = as.factor(country_name))) +
geom_tile(aes(y = value/2,
height = value,
width = 0.9), alpha = 0.8, color = NA) +
geom_text(aes(y = 0, label = paste(country_name, " ")), vjust = 0.2, hjust = 1) +
geom_text(aes(y=value,label = Value_lbl, hjust=0)) +
coord_flip(clip = "off", expand = FALSE) +
scale_y_continuous(labels = scales::comma) +
scale_x_reverse() +
guides(color = FALSE, fill = FALSE) +
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.grid.major.x = element_line( size=.1, color="grey" ),
panel.grid.minor.x = element_line( size=.1, color="grey" ),
plot.title=element_text(size=25, hjust=0.5, face="bold", colour="grey", vjust=-1),
plot.subtitle=element_text(size=18, hjust=0.5, face="italic", color="grey"),
plot.caption =element_text(size=8, hjust=0.5, face="italic", color="grey"),
plot.background=element_blank(),
plot.margin = margin(2,2, 2, 4, "cm"))

ggplot2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ˛āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ–ā§āĻŦāĻ‡ āĻ¸āĻšāĻœāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§‹āĻĄ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻĨāĻŋāĻŽ() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŽā§‚āĻ˛ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĒā§āĻ°āĻžāĻŖāĻŦāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻ˛ā§āĻ˛āĻŽā§āĻŦ āĻ—ā§āĻ°āĻŋāĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋ āĻ†āĻāĻ•āĻž āĻšāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ•ā§āĻˇ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻ˛āĻžāĻ•āĻž āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĨ¤

āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻļāĻ¨

āĻāĻ–āĻžāĻ¨ā§‡ āĻŽā§‚āĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻ˛ transition_states(), āĻāĻŸāĻŋ āĻ†āĻ˛āĻžāĻĻāĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ—ā§āĻ°āĻžāĻĢ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ¸ā§‡āĻ˛āĻžāĻ‡ āĻ•āĻ°ā§‡āĨ¤ view_follow() āĻ—ā§āĻ°āĻŋāĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻāĻ•āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

anim = staticplot + transition_states(year, transition_length = 4, state_length = 1) +
view_follow(fixed_x = TRUE) +
labs(title = 'GDP per Year : {closest_state}',
subtitle = "Top 10 Countries",
caption = "GDP in Billions USD | Data Source: World Bank Data")

āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚

āĻāĻ•āĻŦāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸ() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ animate() āĻ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻœāĻŋāĻ†āĻ‡āĻāĻĢ

# For GIF

animate(anim, 200, fps = 20, width = 1200, height = 1000,
renderer = gifski_renderer("gganim.gif"))

MP4

# For MP4

animate(anim, 200, fps = 20, width = 1200, height = 1000,
renderer = ffmpeg_renderer()) -> for_mp4

anim_save("animation.mp4", animation = for_mp4 )

āĻĢāĻ˛

R āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸā§‡āĻĄ āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ•āĻŋāĻ›ā§āĻ‡ āĻœāĻŸāĻŋāĻ˛ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ†āĻŽāĻžāĻ° āĻ—āĻŋāĻŸāĻšāĻžāĻŦ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĻā§‡āĻ–ā§‡āĻ¨āĨ¤

Skillbox āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°ā§‡:

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨