2017-05-01 75 views
1

數據框:自傳說ggplot的R

df <- data.frame('X' = c('a','a','b','b','c','c','d','d'), 'legend' = c('a','b','a','b','c','d','c','d'), 'Y' = c(100,50,50,100,150,100,150,100)) 

圖:

ggplot(data=df, aes(x=X, y=Y, group=legend, colour=legend)) + 
geom_line(size = 1) + 
geom_point(size = 3) + 
scale_color_manual(values=c("blue", "red","blue", "red"), labels = c('blue','red')) + 
scale_x_discrete(labels = c('Group 1','Group 1','Group 2','Group 2')) 

輸出:

http://imgur.com/a/U62PU

當我做這個傳說寫着 '藍色',「紅色','不適用','不適用'。如何從圖例中刪除NAs,因此它只能說'藍色,紅色'?

回答

3

您可以隨時在您內部設置breaksscale_color_manual。像這樣的東西應該工作:

ggplot(data=df, aes(x=X, y=Y, group=legend, colour=legend)) + 
    geom_line(size = 1) + 
    geom_point(size = 3) + 
    scale_color_manual(values=c("blue", "red","blue", "red"), 
        labels = c('blue','red'), breaks = c("a", "b")) + #Set the breaks here 
    scale_x_discrete(labels = c('Group 1','Group 1','Group 2','Group 2')) 

我們只保留了前兩個組,因爲我們要重新標記,只在傳說red 2個價值觀和blue enter image description here