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
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.
The function geom_point() adds a layer of points to your plot, which creates a scatterplot.
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).
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.
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"))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With