web-dev-qa-db-ja.com

Rで正方形軸を作成する

散布図で軸を常に正方形にするためにRを使用するにはどうすればよいですか?例えば:

> plot(iris)

または

> plot(iris$Petal.Width, iris$Petal.Length)

軸を正方形、つまり、x軸とy軸に同じ長さと目盛りのラベルを付けたいです。

現在提案されている答えは機能しません。電話、

plot(iris$Petal.Width, iris$Petal.Length, xlim=c(0,10), ylim=c(0,10), asp=1)

生成:

enter image description here

正方形ではなく、同じ軸の目盛りと目盛りラベルはありません。 x目盛りラベル間のスペースは同じでなければならず、プロットは長方形ではなく正方形でなければなりません。

25
user248237

また、グラフィックスパラメーターでpty="s"を設定して、プロット領域を正方形にします(デバイスのサイズと制限に依存しません):

par(pty="s")
plot(iris$Petal.Width, iris$Petal.Length, asp=1)
lines(2+c(0,1,1,0,0),3+c(0,0,1,1,0)) # confirm square visually

talllong

45
Andy Barbour

まず第一に、私にとってはプロットはすでに 正方形になります (大きな画像)です。明らかにこれは当てはまりません。とにかく画面よりもプロットを大きくする必要があるかもしれません。

したがって、プロットのサイズは、出力領域のサイズ、つまりプロットウィンドウ、画像ファイル、またはその他のサイズによって制御されます。 Rstudio を使用すると、組み込みGUIを使用してプロットサイズを指定できます。ベースRコンソールの使用を主張する場合は、エクスポートを手動で行う必要があります。最初にファイルを開きます:

png("image.png", width=600, height=600)

これにより、作業ディレクトリ内の画像ファイルが均等に開きます。今プロット:

x = iris$Petal.Width
y = iris$Petal.Length
all = c(x,y)
range = c(min(all), max(all))
plot(x, y, xlim=range, ylim=range)

そしてファイルを閉じます:

dev.off()

結果:

enter image description here

4
Superbest