web-dev-qa-db-ja.com

Rプロットのx軸をy = 0で表示するように設定します

通常、Rラインプロットをプロットしてylim=c(0,some_value)を設定すると、x軸とy = 0の間に小さなスペースができます。

Y = 0で正確にy軸を表示したいので、ポイント(x、0)はy軸上にプロットされます(上ではありません)。

40
David B

おそらく、スタイル「i」のグラフィカルパラメーターxaxsおよびyaxsが必要です。

plot(1:10, rnorm(10), ylim=c(0,10), yaxs="i")

見る ?par

xaxs:x軸に使用される軸間隔計算のスタイル。可能な値は「r」、「i」、「e」、「s」、「d」です。スタイルは通常、データの範囲またはxlim(指定されている場合)によって制御されます。スタイル "r"(通常)は、最初に両端でデータ範囲を4パーセント拡張し、次に拡張範囲内に収まるきれいなラベルを持つ軸を見つけます。スタイル "i"(内部)は、元のデータ範囲内に収まるきれいなラベルを持つ軸を見つけるだけです。スタイル "s"(標準)は、元のデータ範囲が収まるきれいなラベルの付いた軸を見つけます。スタイル "e"(拡張)はスタイル "s"に似ていますが、境界ボックス内にシンボルをプロットする余地があることも保証されます。スタイル "d"(直接)は、現在の軸を後続のプロットで使用することを指定します。 (「r」および「i」スタイルのみが現在実装されています)

yaxs:y軸に使用される軸間隔計算のスタイル。上記のxaxsを参照してください。

50
rcs

別のオプションは、axes=Fを使用してプロットで軸のプロットを無効にし、軸コマンドを使用して軸を個別に配置し、posオプションで軸間隔を制御することです。

plot(1:10, runif(10), ylim=c(0,1), xlim=c(0,10),axes=F)
     axis(1, pos=0)
     axis(2, pos=0)   
14
WetlabStudent