Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create legend in R with identical RGB color values as plot?

Tags:

r

legend

I've created a simple scatter plot in R with specific RGB color values like this:

plot(shuffled, p_val, pch=19, col="black", xlim=c(0,100), ylim=c(0,1))
points(ri, p_val, pch=19, col=rgb(96,123,139, 50, maxColorValue=255), 
       xlim=c(0,100), ylim=c(0,1))
points(somo, p_val, pch=19, col=rgb(225,64,5, 50, maxColorValue=255), 
       xlim=c(0,100), ylim=c(0,1))

I would like to use the same color values in the code above to generate a figure legend. The code I am using looks like this, but I can't seem to figure out how to match the colors of the graph points.

legend("topright", c("Shuffled", "Riffled", "Somosome"), cex=1.0, bty="n", 
       c("black",col=rgb(96,123,139, 50, maxColorValue=255),col=rgb(225,64,5, 50, maxColorValue=255))

Can any one help? What is wrong with my legend? Thanks!

like image 407
drbunsen Avatar asked Oct 30 '11 21:10

drbunsen


1 Answers

This works for me:

plot(1:3,
    col=c("black",rgb(96,123,139, 50, maxColorValue=255),
               rgb(225,64,5, 50,maxColorValue=255)),pch=19)

legend("topright", c("Shuffled", "Riffled", "Somosome"), cex=1.0, bty="n",
   col=c("black",rgb(96,123,139, 50, maxColorValue=255),
      rgb(225,64,5, 50, maxColorValue=255)),pch=19)

Note you need to specify one vector of col=, the size of your labels, and you also have to have a pch= in there too. Alternatively you can do fill=[vector of colours] to draw filled boxes.

like image 124
Spacedman Avatar answered Sep 22 '22 13:09

Spacedman