我正在使用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
答案 0 :(得分:4)
如上所述@Baptiste,您可以使用plot(...,asp=1)
。这仅适用于x和y范围恰好相同的情况(因为它将绘图的物理纵横比设置为1)。否则,您可能希望使用eqscplot
包中的MASS
函数。每当您尝试仔细绘制几何对象时,就会出现类似的问题。 Drawing non-intersecting circles
通过在上面的代码中用MASS::eqscplot
代替plot
来生成此图:
请注意,根据R对您的显示器配置等的详细信息,当您在R的图形窗口中绘图时,圆圈可能看起来有点压扁(即使它通过了点) - 它对我有用 - - 但在图形输出中应该看起来不错。