An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20080916/326f6e7c/attachment.pl>
question in value-based color in image()
3 messages · M., Achim Zeileis, Jim Lemon
On Tue, 16 Sep 2008, M. wrote:
Hello, I have a matrix A with value varying from -1 to 1. I hope to use scaled color based on its value to produce an image of this matrix. Suppose I hope to label those data in [-1,-0.5] with blue, label those [-0.5,0.8] with light blue (tone is proportional to its value, e.g. rgb(1-tone, 1-tone, 1) where tone=abs(A)/0.5), and label those [0.8,1] with white. How can I use image() and rgb() to achieve this? It would be great if I can have a color scale legend, too.
RGB is not the most convenient color space for doing such computations,
HCL is color model that is quite useful and the package "vcd" provides
some functions like diverge_hcl() for computing palettes based on HCL
colors. See
vignette("hcl-colors", package = "vcd")
?diverge_hcl
hth,
Z
TIA, Chris [[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
M. wrote:
Hello, I have a matrix A with value varying from -1 to 1. I hope to use scaled color based on its value to produce an image of this matrix. Suppose I hope to label those data in [-1,-0.5] with blue, label those [-0.5,0.8] with light blue (tone is proportional to its value, e.g. rgb(1-tone, 1-tone, 1) where tone=abs(A)/0.5), and label those [0.8,1] with white. How can I use image() and rgb() to achieve this? It would be great if I can have a color scale legend, too.
Hi Chris, Have a look at color2D.matplot in the plotrix package (particularly the last example for more than one color range). I think you will have to precalculate your colors and pass that as the "cellcolors" argument. Jim