2012-09-07 17 views
6

Invece delle linee colorate su uno sfondo grigio che costituiscono attualmente la chiave della legenda, vorrei quadratini o cerchi di colore accanto all'etichetta della chiave in modo che i colori siano facilmente visibile. Come lo posso fare? Ecco un frammento di codice da utilizzare come esempio:Cambia ggplot linee colorate nella legenda a quadrati o cerchi

mry <- do.call(rbind, by(movies, round(movies$rating), function(df) { 
    nums <- tapply(df$length, df$year, length) 
    data.frame(rating=round(df$rating[1]), year = as.numeric(names(nums)), 
    number=as.vector(nums)) 
})) 

ggplot(mry, aes(x=year, y=number, colour=factor(rating))) + geom_line() + 
scale_colour_brewer(palette="YlGnBu") 

risposta

4

una mod venire a fare dei cerchi ....

ggplot(mry, aes(x=year, y=number, colour=factor(rating))) + 
    scale_colour_brewer(palette="YlGnBu") + 
    geom_point() +  
    geom_point(size=5,colour="white",show_guide=FALSE) + 
    opts(
    panel.background = theme_rect(fill = "transparent"), 
    panel.grid.minor = theme_blank(), 
    panel.grid.major = theme_blank(), 
    plot.background = theme_rect(fill = "transparent",colour = NA) 
) + geom_line(show_guide=FALSE) 

enter image description here

+0

si potrebbe fare piazze ecc modificando la forma di i punti –

+0

anche le dimensioni dei cerchi e dei quadrati possono essere facilmente modificati se li vuoi più grandi –

+0

** UPDATE ** 'opts' è ora privato, usare' theme' e sostituire 'theme_rect' con' element_rect' ecc ... –