ajout plotly

This commit is contained in:
François Pelletier 2016-10-09 01:27:38 -04:00
parent 92f9486d21
commit 41c2ced48f

View file

@ -133,3 +133,85 @@ palette_arrondissement <- colorFactor(rainbow(levels(ARROND$NOM) %>% length()),
l1 %>% addPolygons(data=ARROND, color = ~palette_arrondissement(NOM))
```
# Plotly
## Introduction
Plotly est une bliblothèque de graphiques interactifs en JavaScript. Tout comme Leaflet, on peut l'utiliser via des interfaces dans plusieurs langages de programmation, dont R.
```{r, echo=TRUE}
library(plotly)
```
## Données sélectionnées
Nous utiliserons les données suivantes:
[Enquête sur les dépenses des ménages (EDM), dépenses des ménages, selon le mode d'occupation du logement](http://ouvert.canada.ca/data/fr/dataset/ffd02f84-1b13-479f-83a9-35f6d17296c7)
```{r, echo=TRUE}
emd_2016 <- read.table("DATA/02030024-fra.csv",sep=";", header=TRUE, dec = ",", na.strings = c("..","F"), stringsAsFactors = FALSE)
```
## Sélection
On identifie les 8 catégories avec le plus de dépenses, peu importe le mode d'occupation du logement, en excluant les sommaires.
```{r, echo=TRUE}
Top20Summary <- emd_2016 %>% group_by(SUMMARY) %>%
summarise(Valeur_totale = sum(Valeur)) %>%
arrange(Valeur_totale %>% desc) %>%
filter(!(SUMMARY %in% list("Dépenses totales","Consommation courante totale"))) %>%
head(8) %>%
select(SUMMARY)
```
## Aggrégation
On sélectionne les valeurs correspondant aux catégories identifiées précédemment, on supprime les sommaires
```{r, echo=TRUE}
agg_emd_2016 <- emd_2016 %>%
merge(Top20Summary, all=FALSE) %>%
select(Date_Ref, TENURE, SUMMARY, Valeur) %>%
filter(!(TENURE %in% list("Toutes les classes","Propriétaire"))) %>%
group_by(TENURE,SUMMARY) %>%
summarise(m_valeur = mean(Valeur))
```
## Préparation des données
```{r, echo=TRUE}
library(reshape2)
cast_agg_emd_2016 <- agg_emd_2016 %>% dcast(SUMMARY ~ TENURE, value.var = "m_valeur")
names_col <- names(cast_agg_emd_2016)
names(cast_agg_emd_2016) <- c("SUMMARY","loc","pah","psh")
top_labels <- names_col[-1]
```
## Affichage du graphique
On crée une [graphique à barres groupées](https://plot.ly/r/bar-charts/#grouped-bar-chart), qui permetta de comparer la dépense pour le même sommaire par mode d'occupation du logement.
```{r, echo=TRUE}
plot_ly(data = cast_agg_emd_2016,
y = ~loc,
x = ~SUMMARY,
type = 'bar',
orientation = 'v',
marker = list(color = 'rgba(38, 24, 74, 0.8)',
line = list(color = 'rgb(248, 248, 249)',
width = 1.5)),
name=top_labels[1]) %>%
add_trace(y = ~pah,
marker = list(color = 'rgba(71, 58, 131, 0.8)'),
name=top_labels[2]) %>%
add_trace(y = ~psh,
marker = list(color = 'rgba(71, 58, 131, 0.8)'),
name=top_labels[3]) %>%
layout(barmode = 'grouped',
xaxis = list(title = "",
tickangle = -45),
yaxis = list(title = "Montant en $"),
margin = list(l = 100, b = 100))
```
# ggplot2