2011-10-13 19 views
28

Estoy usando ggplot para trazar los datos del curso en el tiempo (proporciones de fijación en el tiempo para diferentes objetos en la pantalla) y quiero usar una cinta para mostrar el SE, pero la cinta tiene líneas en el bordes superior e inferior, lo que hace que leer el gráfico sea un poco más difícil. No he podido descifrar cómo deshacerme de esas líneas de borde. Aquí está mi código de trama:ggplot: eliminar líneas en los bordes de la cinta

ggplot(gaze, aes(Time, Fix, color=Object, fill=Object)) + 
    stat_summary(fun.y="mean", geom="line", size=2) + 
    stat_summary(fun.data="mean_se", geom="ribbon", alpha=.3) 

¿Alguna sugerencia?

Aquí hay un ejemplo de trabajo mínimo. He Comprimí mis datos a:

Time Object   y  lower  upper 
1 1000  C 0.12453389 0.04510504 0.2039627 
2 1000  T 0.58826856 0.37615078 0.8003864 
3 1000  U 0.09437160 0.03278069 0.1559625 
4 1100  C 0.12140127 0.03943988 0.2033627 
5 1100  T 0.64560823 0.44898727 0.8422292 
6 1100  U 0.06725172 0.01584248 0.1186610 

d <- structure(list(Time = c(1000L, 1000L, 1000L, 1100L, 1100L, 1100L), Object = structure(c(1L, 2L, 3L, 1L, 2L, 3L), .Label = c("C", 
"T", "U"), class = "factor"), y = c(0.12453389, 0.58826856, 0.0943716, 
0.12140127, 0.64560823, 0.06725172), lower = c(0.04510504, 0.37615078, 
0.03278069, 0.03943988, 0.44898727, 0.01584248), upper = c(0.2039627, 
0.8003864, 0.1559625, 0.2033627, 0.8422292, 0.118661)), .Names = c("Time", 
"Object", "y", "lower", "upper"), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6")) 

y aquí está el nuevo código de parcela:

ggplot(d, aes(Time, y, color=Object, fill=Object)) + 
    geom_line(size=2) + 
    geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.3) 
+0

¿Le construir un ejemplo de trabajo mínima. Eso significa que debe agregar algunos datos simples para ejecutar su comando de gráfico. – csgillespie

+0

Gracias, eso parece haber ayudado. –

Respuesta

36

Se puede quitar la frontera con el argumento colour:

ggplot(d, aes(Time, y, color=Object, fill=Object)) + 
    geom_line(size=2) + 
    geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.3, colour=NA) 
2

Aquí tiene

ggplot(d, aes(Time, y, fill=Object)) + 
    geom_line(size=2, aes(colour = Object)) + 
    geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.3) 
15

geom_ribbon entiende linetype estética. Simplemente darle NA, así:

ggplot(d, aes(Time, y, color=Object, fill=Object)) + 
    geom_line(size=2) + 
    geom_ribbon(aes(ymin=lower, ymax=upper, linetype=NA), alpha=.3) 

Más información aquí: http://docs.ggplot2.org/current/geom_ribbon.html

+0

'linetype = NA' no funciona para mí, sin embargo,' linetype = 0' o 'linetype = 'blank'' funciona. http://ggplot2.tidyverse.org/reference/aes_linetype_size_shape.html – fber

Cuestiones relacionadas