在R中画圆圈

时间:2012-09-27 10:23:02

标签: r plot 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")

查看生成的输出here

1 个答案:

答案 0 :(得分:4)

如上所述@Baptiste,您可以使用plot(...,asp=1)。这仅适用于x和y范围恰好相同的情况(因为它将绘图的物理纵横比设置为1)。否则,您可能希望使用eqscplot包中的MASS函数。每当您尝试仔细绘制几何对象时,就会出现类似的问题。 Drawing non-intersecting circles

通过在上面的代码中用MASS::eqscplot代替plot来生成此图:

enter image description here

请注意,根据R对您的显示器配置等的详细信息,当您在R的图形窗口中绘图时,圆圈可能看起来有点压扁(即使它通过了点) - 它对我有用 - - 但在图形输出中应该看起来不错。