Когда вы звоните 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
что дает мне следующий сюжет