如何在图上画半圆?
How to draw a half circle on a plot?
我正在尝试使用 R 中的三角函数在绘图上绘制一些半圆。
这就是我所拥有的:
matPoints <<- as.data.frame(cbind(X=c(-1, -(sqrt(3)/2), -(sqrt(2)/2), -0.5, 0, 0.5, sqrt(2)/2, sqrt(3)/2, 1), Y=c(0, 0.5, sqrt(2)/2, sqrt(3)/2, 1, sqrt(3)/2, sqrt(2)/2, 0.5, 0)))
plot(x = matPoints$X*W, y = matPoints$Y*W)
目前,它打印图上的每个点。我想在这里做的是在点之间描绘一条平滑的线,这样它就会给我一个漂亮的半圆,圆心为 (0, 0),比例为 W。
有什么解决办法吗?
你是这个意思吗?
x <- seq(0, pi, length.out = 500)
W <- 3
plot(cos(x) * W, sin(x) * W, type = "l")
由于圆的一般方程是x^2 + y^2 = r^2,你也可以像下面这样模拟,
r=3 # radius
x <- seq(-r,r,0.01)
y <- sqrt(r^2 - x^2)
plot(x,y,type="l")
# plot(c(x,x),c(y,-y),type="l") for a full circle.
给予,
这是另一种使用复数的可能性,polygon
绘制一个封闭的形状。
plot(NA, xlim=c(-2,2), ylim=c(-2,2))
polygon(1i^(seq(0,2,l=100)))
使用此方法您可以轻松更改中心、比例、旋转、填充颜色等:
plot(NA, xlim=c(-2,2), ylim=c(-2,2))
polygon(2*(1i^(seq(0,2,l=100)))*1i^.5 + .1-.3i, col="red")
polygon(1i^(seq(0,2,l=100)), col="blue")
我正在尝试使用 R 中的三角函数在绘图上绘制一些半圆。 这就是我所拥有的:
matPoints <<- as.data.frame(cbind(X=c(-1, -(sqrt(3)/2), -(sqrt(2)/2), -0.5, 0, 0.5, sqrt(2)/2, sqrt(3)/2, 1), Y=c(0, 0.5, sqrt(2)/2, sqrt(3)/2, 1, sqrt(3)/2, sqrt(2)/2, 0.5, 0)))
plot(x = matPoints$X*W, y = matPoints$Y*W)
目前,它打印图上的每个点。我想在这里做的是在点之间描绘一条平滑的线,这样它就会给我一个漂亮的半圆,圆心为 (0, 0),比例为 W。
有什么解决办法吗?
你是这个意思吗?
x <- seq(0, pi, length.out = 500)
W <- 3
plot(cos(x) * W, sin(x) * W, type = "l")
由于圆的一般方程是x^2 + y^2 = r^2,你也可以像下面这样模拟,
r=3 # radius
x <- seq(-r,r,0.01)
y <- sqrt(r^2 - x^2)
plot(x,y,type="l")
# plot(c(x,x),c(y,-y),type="l") for a full circle.
给予,
这是另一种使用复数的可能性,polygon
绘制一个封闭的形状。
plot(NA, xlim=c(-2,2), ylim=c(-2,2))
polygon(1i^(seq(0,2,l=100)))
使用此方法您可以轻松更改中心、比例、旋转、填充颜色等:
plot(NA, xlim=c(-2,2), ylim=c(-2,2))
polygon(2*(1i^(seq(0,2,l=100)))*1i^.5 + .1-.3i, col="red")
polygon(1i^(seq(0,2,l=100)), col="blue")