Hello,

I slightly altered your code, but I hope that's what you want:

l <- 1000
radius <- 3
x <- seq(-radius,radius,length=l)
y <- sqrt(radius^2-x^2)
xx <- c(x,-x)
yy <- c(y,-y)
plot(xx,yy, xlim=c(-radius,radius),ylim=c(-radius,radius), type="l",
ylab="", xlab="", axes=F)

radius <- 2.7
x1 <- seq(-radius,radius,length=l)
y1 <- sqrt(radius^2-x1^2)
radius <- 2.0
x2 <- seq(radius,-radius,length=l)
y2 <- sqrt(radius^2-x2^2)

for (i in 1:l){

polygon(c(x1[i],x1[i+1],x2[l-i],x2[(l+1)-i]),c(y1[i],y1[i+1],y2[l-i],y2[(l+1)-i]),
          col = rainbow(1, start = 0+(0.33*i)/l, end = 2/6),
border=rainbow(1, start = 0+(0.33*i)/l))
}

#you can omit this line if you do not need the border:
polygon(c(x1,x2),c(y1,y2))

It's not ideal I think because for length l = 2000 it's quite slow. Maybe
someone will find a much better solution.


Aiste

2008/8/15 Roger Leenders <r.t.a.j.leenders@rug.nl>

>
> R2.7.1, WinXP
>
> Hi,
>
> I have a polygon inside a circle as follows:
>
> radius <- 3
> x <- seq(-radius,radius,length=2000)
> y <- sqrt(radius^2-x^2)
> xx <- c(x,-x)
> yy <- c(y,-y)
> plot(xx,yy, xlim=c(-radius,radius),ylim=c(-radius,radius), type="l",
> ylab="", xlab="", axes=F)
>
> radius <- 2.7
> x1 <- seq(-radius,radius,length=2000)
> y1 <- sqrt(radius^2-x1^2)
> radius <- 2.0
> x2 <- seq(radius,-radius,length=2000)
> y2 <- sqrt(radius^2-x2^2)
>
> polygon(c(x1,x2),c(y1,y2))
>
> (the graph much resembles a speed dial inside a car).
> Now I want to fill the polygon with color, such that it starts on the left
> with red and ends on the right with green, following the coloring of the
> rainbow.
> Preferably, the coloring should be "continuous", such that colors naturally
> fade into each other.
> I can draw the polygon as above, but I don't know how to do the coloring.
> It is easy to give the polygon only one color (e.g. through
> polygon(c(x1,x2),c(y1,y2), col="red")), but I need a way in which to color
> the polygon such that the color moves through the color spectrum from red
> (left) to green (right).
> Can anyone help me to achieve this?
>
> Thanks, Roger
>
> ______________________________________________
> R-help@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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

