我想知道是否可以使用函数在R中绘制三条线。例如,我怎么能得到这些功能:
3x+1
4x+2
x+1
显示在r?
中的同一图表上答案 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向量计算出来的(根据你的线方程)。
xlab
和ylab
只标记x和y轴。 type='l'
指定要绘制线条(通过在R提示符下键入?matplot
或?plot
来查看其他选项)。
matplot的一个好处是默认设置可以很好地绘制多条线 - 它每行选择不同的颜色和样式。这些也可以修改:有关详细信息,请参阅?matplot
(和lty
。)