7 votos

La anotación de los gráficos en R

Esto es más de un "cómo utilizar R" pregunta de una real hardcore estadísticas de la pregunta, pero yo creo que la concentración de R maestros aquí hace de este un buen foro para ello. Estoy actualización de una serie de tiempo de gráficos paquete que utiliza actualmente el programa gnuplot. El primer paso es llegar a algún lugar cerca de la actual gráficos y, a continuación, espero ser capaz de añadir más análisis estadístico de la investigación posterior.

Actualmente, el programa gnuplot-genera los gráficos de este aspecto:

alt text

La gráfica correspondiente de R se parece a esto:

alt text

Estoy razonablemente contento con esto. Lo que falta es la leyenda cosas de debajo de la gnuplot gráfico. Puedo agregar una leyenda que dice "En" y "Fuera", pero la mejor forma de presentar el promedio, máximo y mínimo de los valores? Yo podría agregar líneas horizontales de la gráfica y de impresión de los valores dentro del área gráfica, pero la colocación podría interferir con el real gráfico.

6voto

Anders Hansson Puntos 179

Estoy seguro de que hay una forma más elegante de hacer esto, pero usted puede probar esto :

Data <- data.frame(serie1 = cumsum(rnorm(100)), serie2 = rnorm(100), temps = as.Date(1:100, origin = "2000-01-01"))

 label <- c("In traffic [max 2.0G bps] [Avg 1.1G bps] [95% 1.8G bps] [Min 569.4M bps]", "Out traffic [max 2.0G bps] [Avg 672M bps] [95% 2.1G bps] [Min 154.3M bps]")

p <- ggplot(melt(Data, id = "temps"), aes(temps, value, group = variable, colour = variable))
p <- p + geom_line() +xlab("") + opts(legend.position = "bottom", legend.title = NULL)
p <- p + scale_colour_manual(values = c("red", "blue"), breaks = c("serie1", "serie2"), labels = label)

print(p)

0voto

DavLink Puntos 101

Una forma rápida y sucia para pegar algún texto y numérica de los resultados a lo largo de las etiquetas de su leyenda es simplemente cambiar el nombre de los niveles de los factores. Por ejemplo,

df <- data.frame(x=rnorm(100), y=rnorm(100), f=gl(2,50))
df$f2 <- df$f
levels(df$f2) <- paste(levels(df$f), tapply(df$y, df$f, mean), sep=": ")
p <- ggplot(data=df) + geom_point(aes(x=x, y=y, color=f2))
p + opts(legend.position = 'bottom', legend.title=NULL)

Puedes añadir lo que quieras en las nuevas etiquetas, como por ejemplo la media, min, max, etc. (por ejemplo, crear una función personalizada, inspirado en summary() que devuelve los valores que desee y añadir a c("In","Out")).

0voto

Joseph Sturtevant Puntos 6597

Pruebe el directlabels paquete para un poco más de control. Tan lejos como el título va, si eres de la generación automática de los gráficos, usted puede simplemente utilizar como texto de título (en Látex o HTML o lo que sea). Espero que esto ayude.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X