2016-12-20 168 views
0

鉴于下面的数据和图表,如何从图例中删除显示为“NA”的类别?我只想让传说展示类别ABC的颜色。从图例中删除特定标签

library(tibble) 
library(ggplot2) 

mydata <- tibble(Time_dim = rep(1:10, 10), 
       Category = c(rep(NA, 10), rep(c(rep("A", 10), rep("B", 10), rep("C", 10)), 3)), 
       Attribute = c(rep("alpha", 10), rep("beta", 30), rep("omega", 30), rep("theta", 30)), 
       Data = runif(100)) 
mydata$Category <- factor(mydata$Category) 
mydata$Attribute <- factor(mydata$Attribute) 

ggplot(mydata, aes(x = Time_dim, y = Data, colour = Category)) + 
geom_line() + facet_wrap(~ Attribute, ncol = 1, scales = "free") 

enter image description here

+0

在其他线程提供没有与我的工作数据的答案,但@aosmith提供的答案完美的作品。 – Phil

回答

2

您可以在color规模设置breaks为仅要显示的类别。

在你的情况下,你可以使用你的色彩因子levels

scale_color_discrete(breaks = levels(mydata$Category))

0

它添加到ggplot

+ scale_colour_manual(breaks=c("A", "B", "C"), values=c("red", "green", "blue"))