R中的线函数

时间:2009-07-07 13:58:32

标签: r graph line

我想知道是否可以使用函数在R中绘制三条线。例如,我怎么能得到这些功能:

3x+1 
4x+2
x+1 

显示在r?

中的同一图表上

3 个答案:

答案 0 :(得分: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 :(得分:2)

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

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

这里add参数使得绘图放在同一个图上

答案 2 :(得分: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。)