Create a legend in R with the same RGB color values ​​as a graphic?

I created a simple scatter plot in R with specific RGB color values, for example:

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 above code to generate the shape legend. The code I use looks like this, but I cannot figure out how to match the colors of the points in the graph.

 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 anyone help? What is wrong with my legend? Thanks!

+4
source share
2 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 that you need to specify one col = vector, the size of your labels, and you also need to have pch =. Alternatively, you can do fill = [vector of colors] to draw the filled fields.

+7
source

The problem is that you combine the keyword R color, "black", with hexadecimal color keys. Something like this should work:

 colvec <- rgb(rbind(t(col2rgb("black")), ## this is obviously just 0, 0, 0 c(96,123,139), c(225,64,5)), alpha=50,max=255) plot(shuffled, p_val, pch=19, col=colvec[1], xlim=c(0,100), ylim=c(0,1)) points(ri, p_val, pch=19, col=colvec[2], xlim=c(0,100), ylim=c(0,1)) points(somo, p_val, pch=19, col=colvec[3], xlim=c(0,100), ylim=c(0,1)) legend("topright", c("Shuffled", "Riffled", "Somosome"), cex=1.0, bty="n", col=colvec) 
+1
source

All Articles