Exemple de données de dbv:
gender Sektion
1 m 5
2 m 5
3 w 3B
4 w 3B
5 w 3B
6 m 4
J'ai l'intrigue suivante:
Sekplot <- ggplot(dbv,aes(x=Sektion,
fill=factor(gender),
stat="bin",
label = paste(round((..count..)/sum(..count..)*100), "%")))
Sekplot <- Sekplot + geom_bar(position="fill")
Sekplot <- Sekplot + scale_y_continuous(labels = percent)
Sekplot <- Sekplot + labs(title = "test")
Sekplot <- Sekplot + scale_fill_discrete(name="test", breaks=c("m", "w", "k.A."), labels=c("m", "w", "k.A."))
Sekplot <- Sekplot + geom_hline(aes(yintercept = ges, linetype = "test"), colour = "black", size = 0.75, show_guide = T)
Sekplot <- last_plot() + coord_flip()
Sekplot <- Sekplot + guides(colour = guide_legend(override.aes = list(linetype = 0 )),
fill = guide_legend(override.aes = list(linetype = 0 )),
shape = guide_legend(override.aes = list(linetype = 0 )),
linetype = guide_legend()) + theme(legend.title=element_blank())
Sekplot
Sortie: tracé avec axe Y dans le mauvais ordre
Comment inverser l'ordre de l'axe "Sektion"? Je voudrais en avoir un en haut et 8 en bas.
J'ai essayé, selon groupA$Date <- factor(groupA$Date, levels=rev(unique(groupA$Date)))
:
Sekplot <- last_plot() + coord_flip() + scale_x_reverse()
dans plusieurs saveurs, mais n'a pas pu trouver la bonne façon.
Vous pouvez ajouter scale_x_discrete
Avec l'argument limits
pour ce faire. Vous pouvez simplement écrire les limites dans l'ordre que vous souhaitez, mais cela se complique lorsque vous avez plusieurs niveaux de facteurs. Au lieu de cela, vous pouvez extraire les niveaux du facteur de votre ensemble de données et profiter de rev
pour les mettre dans l'ordre inverse.
Cela ressemblerait à: scale_x_discrete(limits = rev(levels(dbv$Sektion)))