Rで円を描く

2chで話題が上がっていたので、それを参考にRで中心(x=2, y=5)で半径r=3の円を描いてみました。

x <- 2
y <- 5
r <- 3
th <- seq(0, 2*pi, length.out=100)
plot(x+r*cos(th), y+r*sin(th), type="l", asp=1)

asp=1でアスペクト比を1:1にしていますが、これがなければアスペクト比に応じた楕円になります*1。それがいやな場合(アスペクト比にかかわらず円を描きたい場合)は、

symbols(x,y,circles=r, inches=FALSE, asp=1)

とやるようです。

*1:アスペクト比に応じたというのは、縦軸・横軸の比に応じて見かけ上は楕円になりますが、グラフを読み取ると正確な円になっています。asp=1を指定すると、見かけ上は円となるように縦軸・横軸の範囲が自動調整されます。