Je veux produire un graphique en pyramide inversée où les barres sont empilées les unes sur les autres avec une largeur différente.
1. J'ai un graphique à barres empilées comme l'exemple de code ci-dessous
library(dplyr)
library(ggplot2)
sample <- data_frame(x=c(1, 1, 1, 1, 2, 2, 2, 2),
y=c(5,10,15, 20, 10, 5, 20, 10),
w=c(1, 2, 3, 4, 1, 2, 3, 4),
group=c("a", "b", "c", "d", "a", "b", "c", "d"))
ggplot() +
geom_bar(data=sample,
aes(x=x,y=y,group=group, fill=group),
stat="identity", position=position_stack())
Puis j'ai ajouté la largeur à aes
donc celui qui est le plus bas w
sera plus petite alors qu'ils sont toujours empilés les uns sur les autres. Cependant, les barres ne se sont pas empilées avec les avertissements.
ggplot() +
geom_bar(data=sample,
aes(x=x,y=y,group=group, fill=group, width=w/5),
stat="identity", position=position_stack())
Warning: Ignoring unknown aesthetics: width
Warning message:
position_stack requires non-overlapping x intervals
Toute aide pour rendre le diagramme à barres empilées ou toute idée sur un autre type de diagramme qui peut couvrir des concepts similaires serait très appréciée. Merci pour votre aide.