J'ai trouvé ceci, Comment mettre des étiquettes sur geom_bar dans R avec ggplot2 , mais il suffit de mettre des étiquettes (nombres) sur une seule barre.
Voici, disons, deux barres pour chaque axe x, comment faire la même chose?
Mes données et mon code ressemblent à ceci:
dat <- read.table(text = "sample Types Number
sample1 A 3641
sample2 A 3119
sample1 B 15815
sample2 B 12334
sample1 C 2706
sample2 C 3147", header=TRUE)
library(ggplot2)
bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge') + geom_text(aes(label=Number))
Ensuite, nous obtiendrons:
Il semble que les textes numériques soient également positionnés dans le motif "esquiver". J'ai cherché dans le manuel de geom_text pour trouver des informations, mais je ne peux pas le faire fonctionner.
Suggestions?
vjust = -0.5
après l'position()
instruction afin que les valeurs soient placées juste au-dessus des barres.ymax
, doncaes(x=Types, y=Number, fill=sample, ymax = 16000)
, produira une zone supérieure plus large pour l'axe y, de sorte que 15815 sera mieux montré.geom_text(..., angle=-90)
Pour ajouter à la réponse de rcs, si vous voulez utiliser position_dodge () avec geom_bar () lorsque x est une date POSIX.ct, vous devez multiplier la largeur par 86400, par exemple,
la source