3

我在使情节图例中的符号与情节本身中的符号匹配时遇到问题。

假设数据有四列这样

data = data.frame(x = sample(1:10, 10, replace=TRUE), y = sample(1:10, 10, replace=TRUE), 
           Rank = sample(1:10, 10, replace = TRUE), Quantified = factor(sample(1:2, 10, replace = TRUE))
)

我希望点的大小不同(用“等级”区分)并用不同的符号表示(十字和空心圆圈,用“量化”区分)。

我的代码是

ggplot(data, aes(x = x, y = y)) +
          geom_point(aes(size = Rank, shape = Quantified)) +
          scale_shape_manual("Quantified", labels = c("Yes", "No"), values = c(1, 4)
 )

图中的符号是我想要的。

我的问题是我希望顶部图例中的圆圈在情节中 没有填充。

我已经在代码的不同部分尝试了各种命令(例如,fill = "white"),但似乎没有什么能正常工作。

有什么建议么?

4

1 回答 1

10

现在我确定这是你想要的:

library(scales)
ggplot(data, aes(x = x, y = y)) +
          geom_point(aes(size = Rank, shape = Quantified)) +
          scale_shape_manual("Quantified", labels = c("Yes", "No"), values = c(1, 4)) + 
          guides(size = guide_legend(override.aes = list(shape = 1)))

在此处输入图像描述

于 2012-10-05T17:43:03.307 回答