Cette semaine le #Tidytuesday nous fait découvrir les visites dans les Parcs Nationaux des États-Unis. Pour visualiser les régions qui sont les plus et les moins fréquentés, j’ai choisi de créer un arbre.
CONTEXTE
Les données sont disponibles sur le site de data.world. Il y a aussi un article de FiveThrityEight, paru en 2016, qui a couvert ces données et présente plusieurs visualisations de données qui valent la peine d’être vue.
Le nombre total de visites de loisirs dans tous les sites NPS a dépassé les 300 millions en 2015, soit une augmentation incroyable de 14 millions par rapport à 2014. Outre les parcs nationaux, les sites NPS incluent des lieux historiques nationaux, des monuments nationaux, des rives et des lacs nationaux, etc.
OBJECTIFS
- Créer un visuel qui montre clairement quels sont les régions les plus fréquentés et les régions les moins fréquentés.
IMPORTER
park_visits <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-09-17/national_parks.csv")
FALSE Parsed with column specification:
FALSE cols(
FALSE year = col_character(),
FALSE gnis_id = col_character(),
FALSE geometry = col_character(),
FALSE metadata = col_character(),
FALSE number_of_records = col_double(),
FALSE parkname = col_character(),
FALSE region = col_character(),
FALSE state = col_character(),
FALSE unit_code = col_character(),
FALSE unit_name = col_character(),
FALSE unit_type = col_character(),
FALSE visitors = col_double()
FALSE
)
EXPLORER
summary(park_visits)
## year gnis_id geometry
## Length:21560 Length:21560 Length:21560
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## metadata number_of_records parkname
## Length:21560 Min. :1 Length:21560
## Class :character 1st Qu.:1 Class :character
## Mode :character Median :1 Mode :character
## Mean :1
## 3rd Qu.:1
## Max. :1
##
## region state unit_code
## Length:21560 Length:21560 Length:21560
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## unit_name unit_type visitors
## Length:21560 Length:21560 Min. : 0
## Class :character Class :character 1st Qu.: 39125
## Mode :character Mode :character Median : 155219
## Mean : 1277105
## 3rd Qu.: 608144
## Max. :871922828
## NA's :4
regions<-park_visits %>%
select('region') %>%
inspect_cat() %>%
show_plot()
## Warning: `cols` is now required.
## Please use `cols = c(data)`
year<-park_visits %>%
select('year') %>%
inspect_cat()
#de 1905 à 2016 avec une valeur 'Total' à retirer
#C'est surement ce qui fosse la catégorie des données
Toutes les informations nécessaire sont déjà dans la base de donnée mais, pour arriver à faire le visuel que j’ai en tête, il faudra nettoyer les données. Les années sont stockées sous forme de caractère parce qu’il y a une valeur ‘Total’ dans la base de données. Pour pouvoir utiliser les régions, il faudra aussi trouver la signification des abréviations.
PRÉPARER
park<-park_visits %>%
select(year, region, visitors) %>%
filter(!year %in% 'Total') %>%
mutate(year=as.numeric(year)) %>%
mutate(region = case_when(region == 'IM' ~ "Intermountain",
region == 'NE' ~ "Northeast",
region == 'SE' ~ "Southeast",
region == 'PW' ~ "Pacific West",
region == 'MW' ~ "Midwest",
region == 'NC' ~ "National Capital",
region == 'AK' ~ "Alaska")) %>%
filter(!is.na(region)) %>%
group_by(region, year) %>%
summarise(somme=sum(visitors))
mean_year<-park %>%
group_by(year) %>%
summarise(moyenne=mean(somme)) %>%
ungroup()
data<-park %>%
left_join(mean_year, by="year") %>%
mutate(diff=somme-moyenne) %>%
select(year, region, diff) %>%
ungroup()%>%
mutate(region=as.factor(region)) %>%
mutate(diff=diff/1000000)
data_m<-data %>%
filter(region %in% c("Pacific West", "Alaska"))
VISUALISER
#Graphique
gg<-ggplot(data, aes(x=year, y=diff, group=region))
gg<-gg + geom_point(size=3.5,color="#ACC6AB")
gg<-gg + geom_line(size=1.5,color="#C3BDB5")
gg<-gg + geom_point(data=data_m, size=3.5,color="#8EB18C")
gg<-gg + geom_line(data=data_m, size=1.5,color="#5B5144")
gg<-gg + geom_hline(yintercept=0, linetype="dashed", color="#A9A9A9")
#ajuster les axes
gg<-gg + scale_y_continuous(breaks=seq(-40,40,10), limits=c(-40, 40))
gg<-gg + coord_flip()
#modifier le thème
gg <- gg + theme(panel.border = element_blank(),
panel.background = element_blank(),
plot.background = element_blank(),
panel.grid.major.x= element_blank(),
panel.grid.major.y= element_blank(),
panel.grid.minor = element_blank(),
axis.line.x = element_line(size=1, color="#A9A9A9"),
axis.line.y = element_blank(),
axis.ticks = element_blank())
#ajouter les titres
gg<-gg + labs(title="Parcs Nationaux des États-Unis: Alaska ou Pacific West?",
subtitle = "\nLes visites dans les Parcs Nationaux des États-Unis ont explosées entre 1904 et 2016. Au fil du temps, on peut constater que les parcs\nde la région de l'Alaska sont de moins en moins fréquentés et les parcs de la région du Pacific West sont de plus en plus fréquentés.\n",
x=" ",
y="Différence du nombre de visite par rapport à la moyenne de l'année (x1 000 000)",
caption="\nSOURCE: data.world | DESIGN: Johanie Fournier, agr.")
gg<-gg + theme( plot.title = element_text(size=38, hjust=0,vjust=0.5, family="Tw Cen MT", color="black"),
plot.subtitle = element_text(size=16, hjust=0,vjust=0.5, family="Tw Cen MT", color="#A9A9A9"),
plot.caption = element_text(size=12, hjust=1,vjust=0.5, family="Tw Cen MT", color="#A9A9A9"),
axis.title.y = element_blank(),
axis.title.x = element_text(size=14, hjust=0,vjust=0.5, family="Tw Cen MT", color="#A9A9A9"),
axis.text.x = element_text(size=14, hjust=0.5,vjust=0.5, family="Tw Cen MT", color="#A9A9A9"),
axis.text.y = element_blank())
#étiquette
gg <- gg + geom_text(aes(x = 2005, y = -40),label = "Région\nAlaska", size = 5, family = "Tw Cen MT", color="#A9A9A9", hjust=0.5, fontface="bold")
gg <- gg + geom_text(aes(x = 2005, y = 27),label = "Région\nPacific West", size = 5, family = "Tw Cen MT", color="#A9A9A9", hjust=0.5, fontface="bold")
Voici ce que ça donne:
CONCLUSION
Ce graphique est plus artistique que ce que je fais d’habitude, mais la avec la forme des courbes je n’ai pas pu faire autrement que d’aller dans ce sens. Le graphique montre quand même que le nombre de visite dans les parcs de la région de l’Alaska sont de moins en moins fréquentés et les parcs de la région du Pacific West sont de plus en plus fréquentés.
Alors, tu veux en savoir plus sur ma démarche? Un épisode de podcast sera bientôt disponible dans lequel je t’explique toute la réflexion et les concepts de data visualisation qui ont menés à la création de cette viz.