2011-12-02 14 views
4

私は、次のコードを使用しています:Rでプロットする際に静的な軸値を取得する方法は?

x <-sample(1:100, 10); 
y <-sample(1:100, 10); 
plot(x,y); 

を私は、x、y軸上の静的な値を持つプロットを作成しようとしています。 問題は、たとえばx軸などが、プロット上で0〜80の値の範囲で表示され、x軸の中のランダムな値に応じて20〜100の値が表示されることがあります。

私は、xとy行列の中の値にかかわらず、x、yの両方の値が0から100までのすべての場合にプロット内にあることを希望します。

これを達成する方法はありますか?

ありがとうございます!

答えて

1

あなたが使用できる2つの機能は、手動で自分の軸を設定するために使用することができますplot()xlim()ylim()があります。

+0

わからないが、多分あなたは 'xlim'と' ylim'がplot'では、またはより具体的に '' plot.default'への引数であることを意味:これはrangeと実際の境界を見つけることの一例ですか? – joran

5

"値の範囲は1から100まで"という意味によるが、以下のいずれかの処理が必要です。第一

、デフォルトでplotは第1、xaxs="i"

を終了しyaxs="i"の両方で4%軸の範囲を拡張するには、この動作を抑制するために使用されます。あなたには、いくつか(のように0、100)を選択するか、または見つける - あなたが境界を見つけるために持っている

plot(x,y, xlim=c(0,100), ylim=c(0,100)) 

enter image description here

plot(x,y, xlim=c(0,100), ylim=c(0,100), xaxs="i", yaxs="i") 

enter image description here

1

まず(。詳細は?parを参照してください) range機能で実際の境界線を外してください。次に、xlimylimプロットオプションを使用します。

x1 <-sample(1:100, 10); 
y1 <-sample(1:100, 10); 
x2 <-sample(1:100, 10); 
y2 <-sample(1:100, 10); 

par(mfrow=c(1, 2)) 
range_x <- range(x1, x2); // find the range that spans all the data, for x 
range_y <- range(y1, y2); // and for y 
plot(x1, y1, xlim = range_x, ylim = range_y); 
plot(x2, y2, xlim = range_x, ylim = range_y); 
+0

しかし、OPは "私は両方のx、yがすべての場合にプロットで0〜100の値の範囲を持つことを望みます"と尋ねます。これはそれを達成しません... –

関連する問題