通过软件 R 中一点的线

Line passing through one point in software R

我是 R 的新手。

我正在尝试通过一个点绘制一个正方形和一条直线。这是我写的代码...

plot(c(0, 2), c(0, 2), main="abc", type= "n", xlab = "x", ylab = "y")
rect(0, 0, 1, 1, col=2) #square

m = runif(1, min=0, max=1) #angular coefficient
myLine <- function(x) m*(x-0.5)+0.5 # y = m*(x-0.5)+0.5 --> line through (0.5,0.5)

plot(myLine) #draw myLine

...但它不起作用。你能解释一下我犯了什么错误吗?

提前致谢

当你调用plot()时,R通常会创建一个全新的情节;默认情况下,它不会将其添加到现有绘图中。还有其他函数,例如 points()lines()curve() 将利用现有图。

由于您要添加一个函数,因此您需要使用 curve() 绘制您创建的函数 myLine。 (如果您想随机选择截距和斜率,则可以使用 abline() 函数)。但是使用您现有的函数,代码应该更像这样

plot(c(0, 2), c(0, 2), main="abc", type= "n", xlab = "x", ylab = "y")
rect(0, 0, 1, 1, col=2) #square

m <- runif(1, min=0, max=1) #angular coefficient
myLine <- function(x) m*(x-0.5)+0.5 # y = m*(x-0.5)+0.5 --> line through (0.5,0.5)

curve(myLine, add=TRUE) #draw myLine

这给了我下面的情节