我正在使用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
我也尝试在geom_point中添加fill=c("blue","red")
,但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
答案 0 :(得分:62)
您必须使用21 to 25
中的形状。这些是colour
和fill
属性:
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"))