2012-09-07 6 views
6

Anstelle der farbigen Linien auf einem grauen Hintergrund, die derzeit den Legendenschlüssel bilden, möchte ich Quadrate oder Farbkreise neben dem Schlüssel-Label für die Farben sein leicht sichtbar. Wie kann ich das machen? Hier ist ein Code-Snippet als Beispiel zu verwenden:Ändern ggplot farbige Linien in der Legende zu Quadraten oder Kreisen

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

Antwort

4

einen Hack kommt bis zu Kreisen machen ....

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

Sie Quadrate usw., indem die Form machen könnten von die Punkte –

+0

auch die Größe der Kreise und Quadrate können leicht bearbeitet werden, wenn Sie sie größer –

+0

wollen ** UPDATE ** 'opts' ist jetzt depricated, benutzen' Thema' und ersetzen 'theme_rect' mit' element_rect' etc ... –