2009-07-07 26 views
2

我想知道是否可以使用函數在R中繪製三行。例如,我怎麼能得到的功能:R中的行函數

3x+1 
4x+2 
x+1 

要顯示在r?

回答

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=)等,但這是它的要點。

+1

情節(C(0,100),C(0,100),類型= 'N')是更好。 'n'可以防止任何輸出,只顯示一個空的圖(否則你會在原點和(100,100)處得到兩個點)。以下abline命令將顯示這些行。 – ars 2009-07-08 02:24:38

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,...)有兩個矩陣參數。 X的每一列都是針對Y的每一列繪製的。

在我們的例子中,X是一個11 x 3的矩陣,每一列的序列爲0到10(我們每行的x值)。 Y是一個11 x 3的矩陣,每列都計算出x向量(根據您的線性方程)。

xlabylab只是標記x和y軸。 type='l'指定要繪製的線條(請參閱其他選項,方法是在R提示符處輸入?matplot?plot)。

matplot的一個好處是默認值可以很好地繪製多行 - 它選擇不同的顏色和樣式每行。這些也可以修改:請參閱?matplot(和lty瞭解更多詳情)。

2

您還可以使用curve功能。例如:

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

在這裏,附加參數導致要在同一曲線圖把曲線