1 pièce(s) jointe(s)
ggplot2 et geom_bar : afficher les labels des catégories vides
Bonjour,
N'étant pas spécialiste (doctorant en didactique des langues), je vais essayer de d'énoncer clairement ma question. Toutes mes excuses si tout n’est pas clair...
À l'aide de la formule suivante j'ai produit un graph en barres qui concerne des fréquences en % de la variable NoCrsP.p selon 5 catégories (jamais - rarement - de temps en temps - très souvent - presque tout le temps) et indiquée pour chaque individu 1, 2, 3, 4 ou 5 dans ma matrice No_p:
Code:
ggplot(data = No_p, aes(x = NoCrsP.p)) + labs(x="Leçon en breton\navec l'enseignant", y="Pourcentage d'écoles") + theme_gray(base_size = 25, base_family = "serif") + geom_bar(aes(y = 100*(..count..)/sum(..count..))) + ylim(0, 100) + scale_x_continuous(breaks=c( 1, 2, 3, 4, 5),labels=c( "jamais", "rarement","de tps\nen tps", "très\nsouvent", "presque\ntout le\ntemps"))
Je suis très content de mon graph, sauf que les labels "jamais" et "rarement" qui ont pour fréquence "0" n'apparaissent pas sur l'axe horizontal, ce qui rend peu difficile la comparaison avec d'autres graphs du même type. Sauriez-vous comment faire apparaître sur un graph en barre les catégories de fréquence nulle avec ggplot?
Pièce jointe 581377
Merci beaucoup pour votre aide !
2 pièce(s) jointe(s)
ggplot2 et geom_bar : afficher les labels des catégories vides
Bonjour,
Code:
iris_new <- iris[iris$Species %in% c("setosa","versicolor"),]
• avec barplot
Code:
barplot(table(iris_new$Species))
Pièce jointe 581647
• avec ggplot et geom_bar
Code:
1 2 3
| iris_tab <- as.data.frame(table(iris_new$Species))
library(ggplot2)
ggplot(data=iris_tab, aes(x=Var1, y=Freq)) + geom_bar(stat="identity") |
Pièce jointe 581648
Cordialement,
ggplot2 et geom_bar : afficher les labels des catégories vides
Bonjour,
Merci pour le retour et l'instruction scale_x_discrete(drop = FALSE).
Appliqué à mon exemple minimal :
Code:
iris_new <- iris[iris$Species %in% c("setosa","versicolor"),]
Code:
1 2 3
| ggplot(data = iris_new, aes(x = Species)) +
geom_bar() +
scale_x_discrete(drop = FALSE) |
ou en pourcentages :
Code:
1 2 3
| ggplot(data = iris_new, aes(x = Species, y = after_stat(count / sum(count)))) +
geom_bar() +
scale_x_discrete(drop = FALSE) |
Cordialement,