Vous apprendrez comment créer un bar plot interactif dans R en utilisant le package R highchart.
Sommaire:
Chargement des packages R réquis
# Charger les packages R requis
library(highcharter)
# Définir les options de highcharter
options(highcharter.theme = hc_theme_smpl(tooltip = list(valueDecimals = 2)))
Préparation des données
Nous allons créer deux data frames dérivées du jeu de données ToothGrowth
.
df <- data.frame(dose=c("D0.5", "D1", "D2"),
len=c(4.2, 10, 29.5))
head(df)
## dose len
## 1 D0.5 4.2
## 2 D1 10.0
## 3 D2 29.5
df2 <- data.frame(supp=rep(c("VC", "OJ"), each=3),
dose=rep(c("D0.5", "D1", "D2"),2),
len=c(6.8, 15, 33, 4.2, 10, 29.5))
head(df2)
## supp dose len
## 1 VC D0.5 6.8
## 2 VC D1 15.0
## 3 VC D2 33.0
## 4 OJ D0.5 4.2
## 5 OJ D1 10.0
## 6 OJ D2 29.5
len
: Longueur des dentsdose
: Dose en milligrammes (0,5, 1, 2)supp
: Type de supplément (VC ou OJ)
Barplots de base
Bar plot vertical basique:
hc <- df %>%
hchart('column', hcaes(x = dose, y = len))
hc
Faire un bar plot horizontal:
hc <- df %>%
hchart(
'bar', hcaes(x = dose, y = len),
color = "lightgray", borderColor = "black"
)
hc
Modifier la largeur des barres en utilisant l’argument pointWidth
(par exemple : largeur = 15).
# Modifier la largeur des barres
df %>% hchart(
'column', hcaes(x = dose, y = len),
pointWidth = 15
)
Changer les couleurs des bar plots par groupes
Nous allons changer la couleur des traits et le remplissage des barres par groupe en fonction de la variable dose
.
# Changer les couleurs de remplissage du barplot par groupes
hc <- df %>%
hchart(
'column', hcaes(x = dose, y = len, color = dose)
)
hc
Barplots avec plusieurs groupes
Créez des histogrammes empilés et decalés. Utilisez les fonctions hc_colors()
pour définir manuellement les couleurs des barres.
Barres écartées:
hc <- df2 %>%
hchart('column', hcaes(x = 'dose', y = 'len', group = 'supp')) %>%
hc_colors(c("#0073C2FF", "#EFC000FF"))
hc
Bar plot empilés:
hc <- df2 %>%
hchart(
'column', hcaes(x = 'dose', y = 'len', group = 'supp'),
stacking = "normal"
) %>%
hc_colors(c("#0073C2FF", "#EFC000FF"))
hc
Version: English
No Comments