Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fill and border colour in geom_point (scale_colour_manual) in ggplot

Tags:

r

colors

ggplot2

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_pointI 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"

enter image description here

This is what I get when I add "shape=21". In both cases it ignores scale_fill enter image description here

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 
like image 316
PGreen Avatar asked Apr 12 '13 07:04

PGreen


People also ask

How do I change the color of a border in R?

To change the border color of box of a base R plot, we can use box function with col argument where we can pass the color other than black because black is the default color.

What does Geom_point () do in R?

The function geom_point() adds a layer of points to your plot, which creates a scatterplot.

What is fill in R Ggplot?

Generally, fill defines the colour with which a geom is filled, whereas colour defines the colour with which a geom is outlined (the shape's "stroke", to use Photoshop language).

How do you change the color of the title in ggplot2?

Because you are using the same color for all the titles, you can also use title = element_text(colour = "#7F3D17") which should set the color of the plot title, axis titles and legend title to the same color.


1 Answers

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")) 
like image 162
Arun Avatar answered Oct 09 '22 12:10

Arun