2

関数を使ってRで3本の線をグラフ化できるのではないかと思いました。たとえば、どのようにして関数を取得できますか?

3x+1 
4x+2
x+1 

rの同じグラフに表示するには?

4

3 に答える 3

3

最初に境界を決定し、たとえば0から100とし、それらの点を含む空のプロットを作成します。

plot(c(0,100), c(0,100))

もちろん、軸のさまざまな詳細とタイトル付け/ラベル付けを制御するためにaxes=、、、xlab=などのオプションのパラメータを使用することもできます。ylab=次に、各線を追加しますabline(a, b)。ここで、bは勾配、aは切片です。したがって、例では次のようになります。

abline(1, 3)
abline(2, 4)
abline(1, 1)

もちろん、色(col=オプションのパラメータ)、線種(lty=)、幅(lwd=)など、制御できる詳細は他にもたくさんありますが、これがその要点です。

于 2009-07-07T14:35:37.577 に答える
2

機能を使用することもできcurveます。例えば:

curve(3*x+1, from=-5, to=5)
curve(4*x+2, add=T)
curve(x+1, add=T)

ここで、 add パラメータにより、プロットが同じグラフに配置されます

于 2009-07-23T02:40:45.820 に答える
0

matplot を使用した別の方法を次に示します。

> x <- 0:10
> matplot(cbind(x, x, x), cbind(3*x+1, 4*x+2, x+1), 
          type='l', xlab='x', ylab='y')

matplot(X, Y, ...) は、2 つの行列引数を取ります。X の各列が Y の各列に対してプロットされます。

この場合、X は 11 x 3 の行列で、各列は 0 から 10 のシーケンス (各行の x 値) です。Y は 11 x 3 の行列で、各列は x ベクトルから計算されます (線形方程式に従って)。

xlabx軸とylaby軸にラベルを付けるだけです。はtype='l'、線を描画することを指定します (入力する?matplot?plot、R プロンプトで他のオプションを参照してください)。

matplot の優れた点の 1 つは、デフォルトが複数行のプロットに適していることです。行ごとに異なる色とスタイルが選択されます。これらは変更することもできます: ?matplot(およびlty詳細については) を参照してください。

于 2009-07-07T22:17:38.947 に答える