Le truc avec l'obtenir pour travailler avec ggplot
est de réaliser que vous avez besoin essentiellement trois éléments d'information: 1) rating
, 2) les valeurs de high
, medium
et low
, et 3) la couleur qui sera utilisée pour différencier. Le problème est que les données ne sont pas actuellement dans ce format. Nous pouvons utiliser la fonction gather
du tidyverse
pour résoudre ce problème, puis tracer les données.
library(tidyverse)
dat = data_frame(rating=1:5, high=c(158, 77, 106, 82, 60), medium=c(1, 20, 10, 56, 97), low=c(36,25,36,71,62))
dat = dat %>%
gather(key=color, value=value, -rating)
ggplot(data=dat, aes(x=rating, y=value, fill=color)) +
geom_bar(stat='identity', position='dodge')
gather
travaille essentiellement en prenant un tas de colonnes et en utilisant les noms de colonnes que les valeurs de la variable key
nouvellement créée (ce que nous appelons couleur) et les valeurs de ces colonnes que les valeurs de notre nouveau créé value
colonne (que nous appelons la valeur).
Évitez simplement les barres. http://ggplot2.tidyverse.org/reference/geom_bar.html –