2

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

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, ...) 采用两个矩阵参数。X 的每一列都针对 Y 的每一列绘制。

在我们的例子中,X 是一个 11 x 3 矩阵,每列是 0 到 10 的序列(我们每行的 x 值)。Y 是一个 11 x 3 矩阵,每一列都是根据 x 向量计算的(根据您的线方程)。

xlabylab标记 x 和 y 轴。type='l'指定要绘制的线条(通过键入或?matplot?plotR 提示符下查看其他选项)。

matplot 的一个好处是默认值可以很好地绘制多条线——它为每条线选择不同的颜色和样式。这些也可以修改:请参阅?matplot(以及lty更多详细信息)。

于 2009-07-07T22:17:38.947 回答