从图例中删除特定标签
问题描述:
鉴于下面的数据和图表,如何从图例中删除显示为“NA”的类别?我只想让传说展示类别A
,B
和C
的颜色。从图例中删除特定标签
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")
答
您可以在color
规模设置breaks
为仅要显示的类别。
在你的情况下,你可以使用你的色彩因子levels
。
scale_color_discrete(breaks = levels(mydata$Category))
答
它添加到ggplot
+ scale_colour_manual(breaks=c("A", "B", "C"), values=c("red", "green", "blue"))
在其他线程提供没有与我的工作数据的答案,但@aosmith提供的答案完美的作品。 – Phil