Fill and border colour in geom_point (scale_colour_manual) in ggplot
colors, ggplot2, r
Solution
You'll have to use shapes from `21 to 25`. These are the ones that have `colour` and `fill` properties:
ggplot(df, aes(own, method)) +
geom_point(colour="white", shape=21, size = 4,
aes(fill = factor(label))) +
scale_fill_manual(values=c("blue", "cyan4"))
If you want different colours for `colour` as well, then:
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"))
Problem
I'm doing an scatter plot using ggplot. I would like to have points with a particular colour and fill (in `plot`, `colour="blue", fill="cyan4"`, for ex.) but I can't find how. What I have to this point is: ``` 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) + ``` (In previous `geom_point`I tried adding `shape=21` as I would have done in `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. ``` This is what i get without "shape=21" This is what I get when I add "shape=21". In both cases it ignores `scale_fill` I also tried adding `fill=c("blue","red")` in geom_point, but R complains: "Error: Incompatible lengths for set aesthetics: shape, size, fill". Any suggestions about how to get it? What is wrong with `scale_fill` in my code? Thank you very much! Data (df) looks like: ``` 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 ```