ΠšΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π°Π½ΠΈΠΌΠΈΡ€Π°Π½Π΅ хистограмС користСћи Π 

ΠšΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π°Π½ΠΈΠΌΠΈΡ€Π°Π½Π΅ хистограмС користСћи Π 

Анимирани тракасти Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ који сС ΠΌΠΎΠ³Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΡƒΠ³Ρ€Π°Π΄ΠΈΡ‚ΠΈ Ρƒ ΠΎΠ±Ρ˜Π°Π²Ρƒ Π½Π° Π±ΠΈΠ»ΠΎ којој Π²Π΅Π± Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜ΠΈ ΠΏΠΎΡΡ‚Π°Ρ˜Ρƒ свС ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½ΠΈΡ˜ΠΈ. Они ΠΏΡ€ΠΈΠΊΠ°Π·ΡƒΡ˜Ρƒ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡƒ ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π±ΠΈΠ»ΠΎ којС карактСристикС Ρ‚ΠΎΠΊΠΎΠΌ ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠ³ Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΠΈ Ρ‚ΠΎ јасно Ρ€Π°Π΄Π΅. Π₯ајдС Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΈΡ… ΠΊΡ€Π΅ΠΈΡ€Π°ΠΌΠΎ користСћи Π  ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ‡ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅.

Π‘ΠΊΠΈΠ»Π»Π±ΠΎΠΊ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅: ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΈ курс β€žΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΎΠ΄ Π½ΡƒΠ»Π΅β€œ.

ΠŸΠΎΠ΄ΡΠ΅Ρ›Π°ΠΌΠΎ: Π·Π° свС Ρ‡ΠΈΡ‚Π°ΠΎΡ†Π΅ β€žΠ₯Π°Π±Ρ€Π°β€œ – попуст ΠΎΠ΄ 10 Ρ€ΡƒΠ±Π°Ρ™Π° ΠΏΡ€ΠΈ упису Π½Π° Π±ΠΈΠ»ΠΎ који курс Π‘ΠΊΠΈΠ»Π»Π±ΠΎΠΊ користСћи ΠΏΡ€ΠΎΠΌΠΎΡ‚ΠΈΠ²Π½ΠΈ ΠΊΠΎΠ΄ β€žΠ₯Π°Π±Ρ€β€œ.

ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈ

ΠŸΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ су Π½Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Ρƒ Π :

Ово двојС јС ΠΈΠ·ΡƒΠ·Π΅Ρ‚Π½ΠΎ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ. ΠŸΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ³Π°, Π±ΠΈΡ›Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ тидивСрсС, Π΄ΠΎΠΌΠ°Ρ€ ΠΈ Π²Π°Π³Π΅ Π·Π° ΡƒΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ†ΠΈΠΌΠ°, Ρ‡ΠΈΡˆΡ›Π΅ΡšΠ΅ Π½ΠΈΠ·Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΡšΠ΅ Ρƒ складу са Ρ‚ΠΈΠΌ.

ΠŸΠΎΠ΄Π°Ρ†ΠΈ

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ скуп ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° који Ρ›Π΅ΠΌΠΎ користити Ρƒ ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Ρƒ јС ΠΏΡ€Π΅ΡƒΠ·Π΅Ρ‚ са Π²Π΅Π± страницС БвСтскС Π±Π°Π½ΠΊΠ΅. Π•Π²ΠΎ ΠΈΡ… - ΠŸΠΎΠ΄Π°Ρ†ΠΈ БвСтскС Π±Π°Π½ΠΊΠ΅. Π˜ΡΡ‚ΠΈ ΠΏΠΎΠ΄Π°Ρ†ΠΈ, Π°ΠΊΠΎ су Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΈ, ΠΌΠΎΠ³Ρƒ сС ΠΏΡ€Π΅ΡƒΠ·Π΅Ρ‚ΠΈ са ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π½Π΅ фасциклС.

Каква јС ΠΎΠ²ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π°? Π£Π·ΠΎΡ€Π°ΠΊ садрТи врСдност Π‘Π”ΠŸ-Π° Π²Π΅Ρ›ΠΈΠ½Π΅ Π·Π΅ΠΌΠ°Ρ™Π° Π·Π° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½Π° (ΠΎΠ΄ 2000. Π΄ΠΎ 2017.).

ΠžΠ±Ρ€Π°Π΄Π° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°

ΠšΠΎΡ€ΠΈΡΡ‚ΠΈΡ›Π΅ΠΌΠΎ ΠΊΠΎΠ΄ постављСн испод Π΄Π° ΠΏΡ€ΠΈΠΏΡ€Π΅ΠΌΠΈΠΌΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°. Π‘Ρ€ΠΈΡˆΠ΅ΠΌΠΎ Π½Π°Π·ΠΈΠ²Π΅ ΠΊΠΎΠ»ΠΎΠ½Π°, ΠΏΡ€Π΅Ρ‚Π²Π°Ρ€Π°ΠΌΠΎ Π±Ρ€ΠΎΡ˜Π΅Π²Π΅ Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Ρ€ΠΎΡ˜Π΅Π²Π° ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΡƒΡ˜Π΅ΠΌΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ ΠΏΠΎΠΌΠΎΡ›Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π³Π°Ρ‚Ρ…Π΅Ρ€(). Π‘Π²Π΅ ΡˆΡ‚ΠΎ добијСмо Ρ‡ΡƒΠ²Π°ΠΌΠΎ Ρƒ Π³Π΄ΠΏ_Ρ‚ΠΈΠ΄ΠΈ.цсв Π·Π° Π΄Π°Ρ™Ρƒ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Ρƒ.

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")

Анимирани хистограми

ΠŠΠΈΡ…ΠΎΠ²ΠΎ ΡΡ‚Π²Π°Ρ€Π°ΡšΠ΅ Π·Π°Ρ…Ρ‚Π΅Π²Π° Π΄Π²Π΅ Ρ„Π°Π·Π΅:

  • Π˜ΡΡ†Ρ€Ρ‚Π°Π²Π°ΡšΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚Π½ΠΎΠ³ скупа стварних хистограма ΠΏΠΎΠΌΠΎΡ›Ρƒ Π³Π³ΠΏΠ»ΠΎΡ‚2.
  • ΠΠ½ΠΈΠΌΠΈΡ€Π°Ρ˜Ρ‚Π΅ статичкС хистограмС са ΠΆΠ΅Ρ™Π΅Π½ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠΌΠ° користСћи Π³Π³Π°Π½ΠΈΠΌΠ°Ρ‚Π΅.

ПослСдњи ΠΊΠΎΡ€Π°ΠΊ јС Π΄Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡ˜Ρƒ Ρƒ ΠΆΠ΅Ρ™Π΅Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ Π“Π˜Π€ ΠΈΠ»ΠΈ МП4.

Π£Ρ‡ΠΈΡ‚Π°Π²Π°ΡšΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°

  • Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (тидивСрсС)
  • Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (Π³Π³Π°Π½ΠΈΠΌΠ°Ρ‚Π΅)

Π£ΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ†ΠΈΠΌΠ°

Π£ ΠΎΠ²ΠΎΠΌ ΠΊΠΎΡ€Π°ΠΊΡƒ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Π΄Π° бистС Π΄ΠΎΠ±ΠΈΠ»ΠΈ 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"))

ΠŸΡ€Π°Π²Ρ™Π΅ΡšΠ΅ Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌΠ° ΠΏΠΎΠΌΠΎΡ›Ρƒ Π³Π³ΠΏΠ»ΠΎΡ‚2 јС Π²Π΅ΠΎΠΌΠ° Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ. Као ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Ρƒ ΠΎΠ΄Π΅Ρ™ΠΊΡƒ ΠΊΠΎΠ΄Π° ΠΈΠ·Π½Π°Π΄, ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΊΡ™ΡƒΡ‡Π½ΠΈΡ… Ρ‚Π°Ρ‡Π°ΠΊΠ° са Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΎΠΌ Ρ‚Ρ…Π΅ΠΌΠ΅(). Они су Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΈ Π΄Π° Π±ΠΈ сви Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π°Π½ΠΈΠΌΠΈΡ€Π°Π»ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. НСки ΠΎΠ΄ ΡšΠΈΡ… ΠΌΠΎΠΆΠ΄Π° Π½Π΅Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π½ΠΈ Π°ΠΊΠΎ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π‘Π°ΠΌΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½Π΅ линијС ΠΌΡ€Π΅ΠΆΠ΅ ΠΈ Π»Π΅Π³Π΅Π½Π΄Π΅ су Π½Π°Ρ†Ρ€Ρ‚Π°Π½Π΅, Π°Π»ΠΈ су наслови оса ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΡƒΠΊΠ»ΠΎΡšΠ΅Π½ΠΈ ΠΈΠ· области.

Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡ˜Π°

ΠšΡ™ΡƒΡ‡Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΎΠ²Π΄Π΅ јС Ρ‚Ρ€Π°Π½Π·ΠΈΡ†ΠΈΡ˜Π°_статСс(), ΠΎΠ½Π° спаја одвојСнС статичкС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½Π΅. Π²ΠΈΠ΅Π²_Ρ„ΠΎΠ»Π»ΠΎΠ²() сС користи Π·Π° Ρ†Ρ€Ρ‚Π°ΡšΠ΅ линија ΠΌΡ€Π΅ΠΆΠ΅.

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")

ΠŸΡ€ΠΈΠΊΠ°Π·ΠΈΠ²Π°ΡšΠ΅

ЈСдном ΠΊΠ°Π΄Π° јС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡ˜Π° ΠΊΡ€Π΅ΠΈΡ€Π°Π½Π° ΠΈ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π° Ρƒ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Ρƒ Π°Π½ΠΈΠΌ, Π²Ρ€Π΅ΠΌΠ΅ јС Π΄Π° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ ΠΏΠΎΠΌΠΎΡ›Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π°Π½ΠΈΠΌΠ°Ρ‚Π΅(). Π Π΅Π½Π΄Π΅Ρ€Π΅Ρ€ који сС користи Ρƒ Π°Π½ΠΈΠΌΠ°Ρ‚Π΅() ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ Ρƒ зависности ΠΎΠ΄ врстС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π΅ ΠΈΠ·Π»Π°Π·Π½Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅.

Π“Π˜Π€

# For GIF

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

МПКБНУМКБ

# For MP4

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

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

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚

ΠšΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π°Π½ΠΈΠΌΠΈΡ€Π°Π½Π΅ хистограмС користСћи Π 

Као ΡˆΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½ΠΈΡˆΡ‚Π° ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ. Π¦Π΅ΠΎ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ јС доступан Ρƒ мој Π“ΠΈΡ‚Π₯ΡƒΠ±, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π³Π° користити ΠΊΠ°ΠΊΠΎ Π²Π°ΠΌ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°.

Π‘ΠΊΠΈΠ»Π»Π±ΠΎΠΊ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅:

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€