Estoy haciendo un gráfico muy amplio que, cuando se imprime como archivo PNG, ocupa varios miles de píxeles en el eje x; hay alrededor de 20 años de datos diarios. (Esto puede o no ser considerado como una buena práctica, pero es para mi propio uso, no para publicación.) Debido a que el gráfico es tan ancho, el eje y desaparece de la vista a medida que se desplaza por el gráfico. En consecuencia, quiero agregar etiquetas a la gráfica en intervalos de 2 años para mostrar los valores en el eje y. El gráfico resultante se parece a la de abajo, excepto que en los intereses de mantenerla compacta he utilizado sólo 30 días de datos falsos y poner etiquetas más o menos cada 10 días:R: En ggplot, cómo agregar varias etiquetas de texto en el eje y para cada una de las fechas múltiples en el eje x
Esto funciona más o menos como requerido, pero me pregunto si hay alguna forma mejor de abordarlo como en este gráfico (ver el código a continuación) Tengo una columna para cada uno de los 3 valores del eje y de 120, 140 y 160. Los datos reales tienen muchos más niveles , así que terminaría con 15 llamadas a geom_text para poner todo en el área de la trama.
P. ¿Hay una manera más simple de marcar las 20 fechas impares, con 15 etiquetas por fecha, en el gráfico a la vez?
require(ggplot2)
set.seed(12345)
mydf <- data.frame(mydate = seq(as.Date('2012-01-01'), as.Date('2012-01-31'), by = 'day'),
price = runif(31, min = 100, max = 200))
mytext <- data.frame(mydate = as.Date(c('2012-01-10', '2012-01-20')),
col1 = c(120, 120), col2 = c(140,140), col3 = c(160,160))
p <- ggplot(data = mydf) +
geom_line(aes(x = mydf$mydate, y = mydf$price), colour = 'red', size = 0.8) +
geom_text(data = mytext, aes(x = mydate, y = col1, label = col1), size = 4) +
geom_text(data = mytext, aes(x = mydate, y = col2, label = col2), size = 4) +
geom_text(data = mytext, aes(x = mydate, y = col3, label = col3), size = 4)
print(p)
funciona a la perfección, gracias. Debe derretirse más a menudo! – SlowLearner