我正在尝试画一些圆圈,我有点希望它们与某些点相交,a ...

library(maptools)
library(plotrix)
xy <- matrix(runif(20, min = -100, max = 100), ncol = 2)
distance <- spDistsN1(xy, xy[1, ])
plot(0,0, xlim = c(-100, 100), ylim = c(-100, 100), type = "n")
points(data.frame(xy))
points(xy[1, 1], xy[1, 2], pch = 16)
draw.circle(xy[1, 1], xy[1, 2], radius = distance)

上面的代码执行以下操作:
  • 创建10个随机点,然后选择一个(第一个)点作为“ anchor ”。
  • 计算从 anchor 到所有其他点的距离。这将是我们的“半径”
  • 使用上面计算的半径距离在 anchor 周围绘制圆。
  • 从头开始,为什么圆不与用于计算半径的点相交。
  • 最佳答案

    这是人们在绘制椭圆,圆等时不时出现的古老的长宽比问题。

  • Drawing non-intersecting circles

  • 似乎可以用MASS::eqscplot代替plot(编辑或使用asp=1参见?par)来解决该问题。

    关于r - 试图根据点之间的距离绘制圆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6322603/

    10-12 19:17