3

2 列のデータがf.deltaありg.delta、R で散布図を作成したいと考えています。

これが私がやっている方法です。

plot(f.delta~x, pch=20, col="blue")
points(g.delta~x, pch=20, col="red")

問題は次のとおりです。 の値はf.delta0 から -7 まで変化します。の値はg.delta0 から 10 まで変化します。

プロットが描画されるとき、y 軸は 1 から -7 まで伸びます。したがって、すべてのf.deltaポイントが表示されますg.deltaが、y>1 のポイントはビューから切り離されます。

R がデータ値から ylims を自動的に設定しないようにするにはどうすればよいですか。yaxt、、 のさまざまな組み合わせを試しましたが、うまくいきませんでしyaxpylims

どんな提案でも大歓迎です。

ありがとう、アンジャン

4

2 に答える 2

5

Gavin の優れた回答に加えて、これらの場合のもう 1 つの一般的なイディオムは、正しい制限で空のプロットを作成しpointslines、 などを使用してそれを埋めることです。

Gavin のサンプル データを使用します。

with(df,plot(range(x),range(f.delta,g.delta),type = "n"))
points(f.delta~x, data = df, pch=20, col="blue")
points(g.delta~x, data = df, pch=20, col="red")

指定したx 値と y 値の範囲に基づいて、空のプロット ウィンドウのみを作成するtype = "n"原因。plot次にpoints、この既存のプロットの両方の列に使用します。

于 2012-11-07T16:04:39.737 に答える
3

Rにデータの制限を伝え、それを引数として渡す必要がありますylim(引数はそうではないplot()ことに注意してください)。次に例を示します。ylimylims

set.seed(1)
df <- data.frame(f.delta = runif(10, min = -7, max = 0),
                 g.delta = runif(10, min = 0, max = 10),
                 x = rnorm(10))

ylim <- with(df, range(f.delta, g.delta)) ## compute y axis limits

plot(f.delta ~ x, data = df, pch = 20, col = "blue", ylim = ylim)
points(g.delta ~ x, data = df, pch = 20, col = "red")

生産する

ここに画像の説明を入力

于 2012-11-07T15:57:55.587 に答える