在 R 中绘制圆圈

Dre*_*rey 4 plot r plotrix

我正在使用 plotrix 包来绘制圆圈。

而且我不明白我的代码有什么问题...... :-(

我有三分。第一个点(1,1)应该是圆的中心。以下两点(1,4),并(4,1)具有相同的距离/半径的中心。所以图中的圆圈应该经过这些点,对吧?

而且我不知道为什么圆圈看起来不对。有解释吗?

  p1 <- c(1,1)
  p2 <- c(4,1)
  p3 <- c(1,4)
  r <- sqrt(sum((p1-p2)^2))

  plot(x=c(p1[1], p2[1], p3[1]),
       y=c(p1[2], p2[2], p3[2]), 
       ylim=c(-5,5), xlim=c(-5,5))
  draw.circle(x=p1[1], y=p1[2], radius=(r))
  abline(v=-5:5, col="#0000FF66")
  abline(h=-5:5, col="#0000FF66")
Run Code Online (Sandbox Code Playgroud)

这里查看生成的输出

Ben*_*ker 5

正如@Baptiste 上面所说,您可以使用plot(...,asp=1). 但是,这仅在您的 x 和 y 范围恰好相同时才有效(因为它将绘图的物理纵横比设置为 1)。否则,您可能想要使用包中的eqscplot函数MASS。每当您尝试绘制几何对象的仔细绘图时,都会出现类似的问题,例如绘制不相交的圆

该地块代生产MASS::eqscplot用于plot在上面的代码:

在此处输入图片说明

请注意,根据 R 对您的监视器配置等的看法的详细信息,当您在 R 的图形窗口中绘图时,该圆圈可能看起来有点压扁(即使它穿过这些点)——它对我来说是这样——但应该在图形输出中看起来OK。