I would use the my.symbols function from the TeachingDemos package
(but then I might be a little bit biased), here is a simple example:

library(TeachingDemos)

x <- runif(25)
y <- runif(25)
z <- sample(1:4, 25, TRUE)

ms.halfcirc2 <- function(col, adj=pi/2, ...) {
        theta <- seq(0, 2*pi, length.out=300)+adj
        x <- cos(theta)
        y <- sin(theta)
        if(col==1) {
                polygon(x,y)
        } else if(col==2) {
                polygon(x,y, col='red')
        } else if(col==3) {
                polygon(x,y, col='blue')
        } else {
                polygon(x[1:150], y[1:150], border=NA, col='red')
                polygon(x[151:300], y[151:300], border=NA, col='blue')
                polygon(x,y)
        }
}

my.symbols( x, y, ms.halfcirc2, inches=1/5, add=FALSE,
        symb.plots=TRUE, col=z)


# spice it up a bit
my.symbols( x, y, ms.halfcirc2, inches=1/5, add=FALSE,
        symb.plots=TRUE, col=z, adj=runif(25, 0, pi))


Adjust things to fit better what you want.

On Tue, Mar 27, 2012 at 8:49 PM, alan <alan.wu2...@gmail.com> wrote:
> I want to plot many points and want to use circles. The filling color
> depends on variable a. if a=1, then not fill
> if a=2 then fill with red, if a=3 then fill with blue, if a=4, fill
> half with red and half with blue. Can anyone tell me how to plot the
> case "a=4"? Thanks a lot
>
> ______________________________________________
> 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
> and provide commented, minimal, self-contained, reproducible code.



-- 
Gregory (Greg) L. Snow Ph.D.
538...@gmail.com

______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.

Reply via email to