5

我正在使用 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")

看看这里产生的输出

4

1 回答 1

7

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

该图是通过在上面的代码中替换MASS::eqscplotfor生成的:plot

在此处输入图像描述

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

于 2012-09-27T12:20:02.393 回答