[R] modify rectangle color from image
Marc Schwartz
marc_schwartz at comcast.net
Wed Jan 24 23:31:53 CET 2007
On Wed, 2007-01-24 at 16:37 -0500, Saurav Pathak wrote:
> Hi,
>
> I need some suggestion on how I could modify the color on some
> rectangle that I have created using "image".
>
> In other words, I have a 5x5 matrix, say, m.
>
> m <- matrix(rnorm(25), nrow=5)
>
> I create a grid of rectangles by:
>
> image(m)
>
> Now I want to change the color of rectangle (3,3) to blue.
>
> I don't know how this could be done, and searching the web has given
> me no hint.
>
> Thanks for your help.
Try this:
m <- matrix(rnorm(25), nrow = 5)
image(m)
# Get the plot region coords
USR <- par("usr")
# Calc the length of a side of a square
SIDE <- abs(USR[1] - USR[2]) / 5
# Draw the rect using the appropriate offsets
rect(USR[1] + (SIDE * 2), USR[3] + (SIDE * 2),
USR[1] + (SIDE * 3), USR[3] + (SIDE * 3), col = "blue")
See ?par and review "usr", then see ?rect
par("usr") gives you the coordinates of the plot region. Then just do
the math to calculate the coordinates of each rectangle.
HTH,
Marc Schwartz
More information about the R-help
mailing list