ggtitle ggplot geom_text change r ggplot2 label

r - ggplot - ggtitle



Agregar texto a ggplot (1)

(actualizado) Tengo ggplot como este, pero luego el eje x Fecha de escala:

g1 <- ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar()

Por encima de dos barras (digamos VS2 e IF, pero en mi gráfica es una fecha) Quiero poner una etiqueta de texto sobre las barras en heigt 13,000.

Intenté muchas cosas, pero esto es lo que más se acercó: esto es lo que probé en mi gráfico con el eje de fecha g1 + geom_text (aes (as.Date ("2014-10-05"), 13000), label = "barco")

pero esto agrega solo uno al gráfico y tan pronto como trato de extenderlo, por ejemplo con

g1 + geom_text(aes(c(as.Date("2014-10-05"),as.Date("2014-10-20")) , 13000), label=c("boat", "train"))

entonces me sale el error:

Error: la estética debe ser de la longitud uno, o la misma longitud que el dataProblems: c (como.Fecha ("2014-10-05"), como.Fecha ("2014-10-20"))

También traté de leer el texto y las etiquetas de un marco de datos (oefen), donde usé los mismos nombres que el diagrama original

g1 + geom_text(data=oefen, aes(x=newdat, y=Number, label=oefen$labs, fill=1))

Me sale el error

Error: valor continuo suministrado a escala discreta

Intenté muchas otras soluciones, pero no puedo encontrar la respuesta. ¿Qué me estoy perdiendo?


Considere el uso de annotate() para colocar el texto que desee en una ubicación determinada de la parcela. Las variables de factor, como en el factor de claridad en el eje x, tienen un número para cada nivel, por lo que puede usar ese número para ubicar el texto. Supongo que las variables de fecha tienen el mismo uso .:

ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar() + annotate("text", x=8, y=13000, label= "boat") + annotate("text", x = 4, y=13000, label = "ship")

EDITAR después de COMENTAR

Para mayor eficiencia, puede combinar las anotaciones, como esta:

ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar() + annotate("text", x = c(2,4,6,8), y=13000, label = c("two", "ship", "six", "boat"))