用ggplot2画一个半圈

时间:2015-01-28 06:05:51

标签: r ggplot2

我使用ggplot2和以下代码在R中画了一个(无板篮球)球场:

require(ggplot2)
ggplot(Coords, aes(X,Y, colour=Position)) + 
geom_point() + 
coord_equal() + theme(plot.background = element_rect(fill = 'grey')) +
geom_path(data=NetballCourt, aes(X,Y), colour="black", size=1)`<br><br>

法庭的边线加横线很好,这些都包含在data.frame中,我将其命名为“NetballCourt”,玩家运动“Coords”根据个人位置分类。

如何在球场的两端绘制半径为4.9米的半圆?对于那些不熟悉无板篮球球的人来说,球场尺寸在这里...... http://netball.com.au/our-game/court-venue-specifications/

1 个答案:

答案 0 :(得分:5)

感谢您的链接,@ eipi10和@tonytonov。

我使用了以下循环功能:

circleFun <- function(center=c(0,0), diameter=1, npoints=100, start=0, end=2)
{
  tt <- seq(start*pi, end*pi, length.out=npoints)
  data.frame(x = center[1] + diameter / 2 * cos(tt), 
             y = center[2] + diameter / 2 * sin(tt))
}

然后我列出了无板球场的细节,因为整圆的中心是(0,7.625),直径是9.8

 dat <- circleFun(c(0,7.625), 9.8, start=1.5, end=2.5)

然后我将此绘制在R中,然后将X和Y坐标添加到现有的data.frame名为&#34; NetballCourt&#34;

ggplot(dat,aes(x,y)) + 
geom_polygon(color="black") + 
ggtitle("half circle") +
coord_equal()