how ggplot geom_text geom color adjust adding r ggplot2

r - ggplot - how to use geom_text



ggplot geom_text control de tamaƱo de fuente (1)

Traté de cambiar la fuente a 10 para las etiquetas de mi diagrama de barras en ggplot2 haciendo algo como esto:

ggplot(data=file,aes(x=V1,y=V3,fill=V2)) + geom_bar(stat="identity",position="dodge",colour="white") + geom_text(aes(label=V2),position=position_dodge(width=0.9), hjust=1.5,colour="white") + theme_bw()+theme(element_text(size=10)) ggsave(filename="barplot.pdf",width=4,height=4)

pero la imagen resultante tiene un tamaño de letra súper grande para las etiquetas de gráfico de barras.

Entonces pensé en modificar en geom_text() con esto:

geom_text(size=10,aes(label=V2),position=position_dodge(width=0.9), hjust=1.5,colour="white")

La fuente de la etiqueta es aún más grande ...

Puedo cambiar el tamaño dentro de geom_text a algo así como 3 y ahora se parece a la fuente 10, similar a las etiquetas de los ejes.

Me pregunto qué está pasando? ¿El theme(text=element_text(size=10)) no se aplica a las etiquetas?

¿Y por qué el tamaño de 10 en geom_text() es diferente al del theme(text=element_text()) ?


Aquí hay algunas opciones para cambiar los tamaños de texto / etiqueta

library(ggplot2) # Example data using mtcars a <- aggregate(mpg ~ vs + am , mtcars, function(i) round(mean(i))) p <- ggplot(mtcars, aes(factor(vs), y=mpg, fill=factor(am))) + geom_bar(stat="identity",position="dodge") + geom_text(data = a, aes(label = mpg), position = position_dodge(width=0.9), size=20)

El size en geom_text cambia el tamaño de las etiquetas geom_text .

p <- p + theme(axis.text = element_text(size = 15)) # changes axis labels p <- p + theme(axis.title = element_text(size = 25)) # change axis titles p <- p + theme(text = element_text(size = 10)) # this will change all text size # (except geom_text)


Para esto ¿Y por qué el tamaño de 10 en geom_text () es diferente del del tema (text = element_text ())?

Sí, son diferentes. Hice una comprobación manual rápida y parecen estar en la proporción de ~ (14/5) para tamaños de geom_text tamaños de theme .

Entonces, una solución horrible para tamaños uniformes es escalar según esta proporción

geom.text.size = 7 theme.size = (14/5) * geom.text.size ggplot(mtcars, aes(factor(vs), y=mpg, fill=factor(am))) + geom_bar(stat="identity",position="dodge") + geom_text(data = a, aes(label = mpg), position = position_dodge(width=0.9), size=geom.text.size) + theme(axis.text = element_text(size = theme.size, colour="black"))

Esto, por supuesto, no explica por qué? y es una pita (y supongo que hay una forma más sensata de hacerlo)