Skip to content

how to draw the legend about color from 3d picture

3 messages · yk, Duncan Murdoch, Greg Snow

yk
#
I have drawed a picture with persp, it's 3d map with different color,
indicate different altitude. In gnuplot, the corresponding command
'splot' will generate a picture beside to indicate the relationship
between color and altitude. But in R, how to draw it? I have read the
manual of legend, but they are all about how to draw a legend with
colored text, not a continuous varing color with corresponding number.
#
On 9/5/2008 8:06 AM, yk wrote:
I don't think there's an automatic way to do this (though probably some 
package provides one).

If you want to write your own, take a look at example(filled.contour). 
The legend it draws is done by this code:

     plot.new()
     plot.window(xlim = c(0, 1), ylim = range(levels), xaxs = "i",
         yaxs = "i")
     rect(0, levels[-length(levels)], 1, levels[-1], col = col)
     if (missing(key.axes)) {
         if (axes)
             axis(4)
     }
     else key.axes
     box()

(but it has done a lot of setup using layout() and par() before this).

Duncan Murdoch
#
Look at the color.legend function in the plotrix package to see if it does what you want.  You may want to use the layout function to split the graphics device into 2 sections, one for the persp plot and the other to hold the legend.

Hope this helps,

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
(801) 408-8111