Cette semaine le #Tidytuesday nous fait découvrir les meilleurs restaurants offrant de la pizza à New York. Pour montrer quels sont les meilleurs restaurants, j’ai utilisé facet_grid pour présenter les votes pour chacune des catégories. En créant une ligne horizontale pour chaque restaurant et en plaçant les résultats des votes à l’intérieur de cercles, je suis arrivée à créer une visuel qui montre le pointage des 6 meilleurs endroit pour manger de la pizza à New York.
CONTEXTE
Les données de cette semaine sont une gracieuseté de Jared Lander. Les données de Jared proviennent des meilleurs restaurants de pizza de New York, avec une enquête sur une échelle de 5 points (l’échelle Likert), soit: excellent, bonne, moyenne, mauvaise, plus jamais.
OBJECTIFS
- Montrer les résultats des votes et identifier visuellement quels sont les restaurants de New York qui font les meilleures pizza.
IMPORTER
pizza_jared <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-10-01/pizza_jared.csv")
FALSE Parsed with column specification:
FALSE cols( FALSE polla_qid = col_double(),
FALSE answer = col_character(),
FALSE votes = col_double(),
FALSE pollq_id = col_double(),
FALSE question = col_character(),
FALSE place = col_character(),
FALSE time = col_double(),
FALSE total_votes = col_double(),
FALSE percent = col_double()
FALSE )
EXPLORER
summary(pizza_jared)
## polla_qid answer votes pollq_id
## Min. : 2.00 Length:375 Min. : 0.000 Min. : 2.00
## 1st Qu.:21.00 Class :character 1st Qu.: 0.000 1st Qu.:21.00
## Median :40.00 Mode :character Median : 2.000 Median :40.00
## Mean :39.93 Mean : 2.832 Mean :39.93
## 3rd Qu.:59.00 3rd Qu.: 4.000 3rd Qu.:59.00
## Max. :77.00 Max. :26.000 Max. :77.00
## ## question place time total_votes
## Length:375 Length:375 Min. :1.344e+09 Min. : 0.00
## Class :character Class :character 1st Qu.:1.395e+09 1st Qu.: 7.00
## Mode :character Mode :character Median :1.467e+09 Median :12.00
## Mean :1.459e+09 Mean :14.16
## 3rd Qu.:1.519e+09 3rd Qu.:19.00
## Max. :1.569e+09 Max. :67.00
##
## percent
## Min. :0.0000
## 1st Qu.:0.0000
## Median :0.1667
## Mean :0.2000
## 3rd Qu.:0.3333
## Max. :1.0000
## NA's :5
votes<-pizza_jared %>%
select('votes') %>%
inspect_num()
show_plot(votes)
votes<-pizza_jared %>%
filter(answer=="Excellent") %>%
select('percent') %>%
inspect_num()
show_plot(votes)
Le plus gros défi ici consiste à déterminer quels sont les restautants offrant les meilleurs pizza. Il est possible d’approcher cette question sous différents angles, mais j’ai choisi de me concentrer sur le nombre de vote de la catégorie “Excellent” pour identifier les meilleurs restaurant. Très peu de restautant se sont vu attribuer plus de 50% de leur votes dans la catégorie “Excellent”, c’est donc à mon avis bon signe pour identifier où se font les meilleures pizza.
PRÉPARER
#Définir la liste des meilleurs restautants: ceux qui ont plus de 6 votes excellent
excellent<-pizza_jared %>%
filter(answer=="Excellent" & percent>=0.5) %>%
select('place') %>%
distinct()
pizza_jared_top<-pizza_jared %>%
right_join(excellent, by="place") %>%
group_by(place, answer) %>%
summarise(votes_corr=mean(votes))
pizza_jared_top$answer <-factor(pizza_jared_top$answer, levels = c("Excellent", "Good", "Average", "Poor", "Never Again"))
pizza_jared_top$place <-factor(pizza_jared_top$place, levels = c( "Prince Street Pizza", "Patsy's", "Naples 45", "Tappo","Little Italy Pizza", "Fiore's"))
#En français
pizza_jared_top<-pizza_jared_top %>%
mutate(answer=case_when(answer == 'Excellent' ~ "Excellent",
answer == 'Good' ~ "Bon",
answer == 'Average' ~ "Moyen",
answer == 'Poor' ~ "Mauvais",
answer == 'Never Again' ~ "Plus Jamais"))
pizza_jared_top$answer <-factor(pizza_jared_top$answer, levels = c("Excellent", "Bon", "Moyen", "Mauvais", "Plus Jamais"))
VISUALISER
#Graphique
gg<-ggplot(pizza_jared_top, aes(x=votes_corr, y=place, color=answer))
gg<-gg + geom_point(size=11, alpha=0.9)
gg<-gg + facet_grid(. ~ answer)
gg<-gg + scale_color_brewer(palette="Set1")
#retier la légende
gg<-gg + theme(legend.position = "none")
#ajuster les axes
gg<-gg + scale_x_continuous(breaks=seq(0,10,2), limits=c(-2, 12))
#Ajouter les étiquettes de données
gg<-gg + geom_text(data=pizza_jared_top, aes(x=votes_corr, y=place, label=(round(pizza_jared_top$votes_corr,0))), color="#5D5D5D", size=5.5, vjust=0.5, hjust=0.5, family="Tw Cen MT", fontface="bold")
#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_line(size=1, linetype = "solid", color="#A9A9A9"),
panel.grid.minor = element_blank(),
axis.line.x = element_blank(),
axis.line.y = element_blank(),
axis.ticks = element_blank(),
strip.background =element_blank())
#ajouter les titres
gg<-gg + labs(title="Comment est la pizza?",
subtitle = "\nTop 6 des meilleurs restaurants servant de la pizza à New York selon le sondage réalisé par Jared Lander\n",
x=" ",
y=" ",
caption="\nSOURCE: Jared Lander | DESIGN: Johanie Fournier, agr.")
gg<-gg + theme( plot.title = element_blank(),
plot.subtitle = element_blank(),
plot.caption = element_text(size=8, hjust=1,vjust=0.5, family="Tw Cen MT", color="#5D5D5D"),
axis.title.y = element_blank(),
axis.title.x = element_blank(),
axis.text.y = element_text(size=18, hjust=1,vjust=0.5, family="Tw Cen MT", color="#5D5D5D"),
axis.text.x = element_blank(),
strip.text = element_text(size=18, hjust=0.5,vjust=0.5, family="Tw Cen MT", color="#5D5D5D"))
Voici ce que ça donne:
CONCLUSION
Finalement, le graphique montre bien quels sont les restaurants offrant la meilleure pizza à New York en se concentrant sur les 6 meilleurs.
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.
Pingback: ADV21_TRANSCRIPT - Qu’est-ce qui rend un visuel élégant? | Johanie Fournier, agr.