52

我正在使用 ggplot 绘制散点图。我想要具有特定颜色和填充的点(例如,在plot,,colour="blue", fill="cyan4"),但我找不到如何。到目前为止,我所要做的是:

ggplot(df, aes(own,method)) +
  panel.configuration +
  scale_shape_identity() +  #to use the 'plot' shape format.
  geom_point(aes(color = factor(label)), position = "jitter",size=3) +  

(在以前geom_point我尝试添加shape=21,就像我在 中所做的那样plot

  scale_colour_manual(values=c("A"="chocolate3","B"="cyan4")) +
  scale_fill_manual(values=c("A"="green", "B"="red")) + #DOES NOTHING...
  xlim(7,47) + ylim(7,47)+ ... etc.

这就是我在没有“shape=21”的情况下得到的

在此处输入图像描述

这是我添加“shape=21”时得到的。在这两种情况下,它都会忽略scale_fill 在此处输入图像描述

我也尝试添加fill=c("blue","red")geom_point,但 R 抱怨:“错误:设置美学的长度不兼容:形状、大小、填充”。

关于如何获得它的任何建议?scale_fill我的代码有什么问题?

非常感谢!

数据 (df) 如下所示:

21 15 A
24 16 A
24 17 A
28 14 A
24 15 A
22 15 A
20 18 A
24 18 A
34 9 B
38 12 B
41 19 B
42 13 B
36 12 B
40 17 B
41 14 B
37 12 B
40 13 B
37 15 B
35 15 B
4

1 回答 1

102

您必须使用21 to 25. 这些是具有colourfill属性的:

ggplot(df, aes(own, method)) + 
     geom_point(colour="white", shape=21, size = 4, 
     aes(fill = factor(label))) + 
     scale_fill_manual(values=c("blue", "cyan4"))

如果你也想要不同的颜色colour,那么:

ggplot(df, aes(own, method)) + 
      geom_point(aes(colour=factor(label), 
      fill = factor(label)), shape=21, size = 4) + 
      scale_fill_manual(values=c("blue", "cyan4")) + 
      scale_colour_manual(values=c("white", "black"))
于 2013-04-12T07:53:39.473 回答