在R中画五角星plot star in R

今天遇到一个小问题,有要求画出一个点图,中间某个位置画两个五角星。找了半天也没有好代码。一开始以为point或者symbol就可以解决的,结果愣没找着。 于是就有了下面的代码。

plotStar <- function(x, y, radius, angle=180, xyratio=1, ...){
    i <- 1:11
    alpha <- 2*pi / 10
    r <- radius * (i %% 2 + 1)/2
    omega <- alpha * i + angle * pi /180
    invisible(mapply(function(a, b, ...) 
        polygon(r*sin(omega) + a, r*cos(omega) * xyratio + b, ...), 
    x, y, ...))
}
plot.new()
plotStar(.5, .5, .3, pch=3, col=2)

plot of chunk unnamed-chunk-1

Leave a Reply

  

  

  

%d 博主赞过: