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"))