ggplot2:在图例中显示缺失值颜色

时间:2013-07-25 03:48:22

标签: r ggplot2 legend missing-data

只是想知道需要什么,以便在图例中显示缺失值的颜色? 从UseR看例子! ggplot2 book,p94

p <- qplot(sleep_total, sleep_cycle, data=msleep, colour=vore)
p + scale_colour_hue(na.value = "Black")
p +  scale_colour_hue("What does \nit eat?", na.value="Black", breaks=c("herbi", "carni", "omni", "insecti", NA), labels=c("plants", "meat", "both", "insects", "don't know"))

vore = NA的数据点显示在图中,但NA未列在图例中。

由于

1 个答案:

答案 0 :(得分:4)

问题的解决方法是将数据中的NA值替换为相同的其他字符(例如unknown)并绘制数据。

因此,创建了具有vore值作为字符的新变量vore2。然后将NA值替换为unknown

msleep$vore2<-as.character(msleep$vore)
msleep$vore2[is.na(msleep$vore2)]<-"unknown"

在图中使用了新变量vore2作为颜色。

p <- qplot(sleep_total, sleep_cycle, data=msleep, colour=vore2)
p +  scale_colour_hue("What does \nit eat?", 
            breaks=c("herbi", "carni", "omni", "insecti", "unknown"), 
                labels=c("plants", "meat", "both", "insects", "don't know"))