散点图:在图例中显示缺失的因子级别

时间:2014-01-30 16:26:36

标签: r ggplot2

我想在下面的示例中使用分组变量(“类别”)创建散点图+图例。我如何强制所有因子水平(即,LETTERS[1:5]以下),即使在实际数据中缺失,也要显示在图例中(以强调他们的缺席!):

dat <- data.frame(V1 = sample(seq(1:10), 10),
              V2 = sample(seq(1:10), 10),
              category = factor(sample(LETTERS[1:4], 10, replace=TRUE),
                  LETTERS[1:5]))

ggplot(dat, aes(x=V1, y=V2)) +
    geom_point(aes(size=category), shape=1)

在我的实际脚本中,我使用scale_size_discrete()来更改图例标签等。

谢谢!

1 个答案:

答案 0 :(得分:8)

使用scale_size_discrete()并添加参数drop=FALSE以显示所有级别。

ggplot(dat, aes(x=V1, y=V2)) +
  geom_point(aes(size=category), shape=1)+
  scale_size_discrete(drop=FALSE)