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 ```

Original source