web-dev-qa-db-fra.com

Ajout d'espace entre les barres dans ggplot2

Chers tous, je voudrais ajouter des espaces entre les barres dans ggplot2. Cette page propose une solution: http://www.streamreader.org/stats/questions/6204/how-to-increase-the-space-between-the-bars-in-a-bar-plot- in-ggplot2 . Cependant, au lieu d'utiliser des niveaux de facteur pour les regroupements sur l'axe des x, cette solution crée une séquence numérique, x.seq, pour placer manuellement les barres, puis les met à l'échelle à l'aide de l'argument width (). width () ne fonctionne pas, cependant, lorsque j'utilise des groupements de niveau de facteur pour l'axe des x comme dans l'exemple ci-dessous.

library(ggplot2)

Treatment <- rep(c('T','C'),each=2)
Gender <- rep(c('M','F'),2)
Response <- sample(1:100,4)
df <- data.frame(Treatment, Gender, Response)

hist <- ggplot(df, aes(x=Gender, y=Response, fill=Treatment, stat="identity"))
hist + geom_bar(position = "dodge") + scale_y_continuous(limits = c(0, 
    100), name = "") 

Est-ce que quelqu'un sait comment obtenir le même effet que dans l'exemple lié, mais en utilisant des groupements au niveau des facteurs?

À votre santé,

Aaron

30
Aaron

C'est ce que tu veux?

hist + geom_bar(width=0.4, position = position_dodge(width=0.5))
  • width dans geom_bar détermine la largeur de la barre.
  • width dans position_dodge détermine la position de chaque barre.

Vous pouvez probablement comprendre facilement leur comportement après avoir joué avec eux pendant un certain temps.

enter image description here

77
kohske