Plot function line on scatter plot R -


i have function

eq = function(x){x*2} 

for line plot on scatter plot in r.

my attempt follows (have not posted data, not runnable, syntacticly equivalent):

plot(per_class$input_kb, per_class$kb, col="red", ylab="peak memory usage (kb)", xlab="input data (kb)", main="peak memory per input size")  

which give me plot. try

lines(eq,y=null) 

however, error.

error in as.double(y) :  cannot coerce type 'closure' vector of type 'double' 

is there way plot function on plot in r (ideally without ggplot2)? or have make data frame representing function...seems kinda hacked.

when plotting function, can either use lines or use curve.

the error arising because lines requires vector (or matrix) arguments (type 'double' in error message) , feeding function (type 'closure').

the curve function designed directly plotting functions , may preferable. below example of plotting 2 functions estimate set of points.

# sample data set.seed(1234) x <- 1:20 y <- x^2 + 0.5 * x + 1 + rnorm(20) y.est1 <- function(x) 1.1 * x^2 + 0.55 * x - 1 y.est2 <- function(x) .9 * x^2 + 0.45 * x + 2  # scatter plot plot(x, y) 

using lines plot first estimate in red.

lines(x, y.est1(x), col="red") 

using curve plot second estimate in blue.

curve(y.est2, from=min(x), to=max(x), col="blue", add=true) 

for curve need include add=true argument, otherwise, curve create new plot.

this produces following figure:

enter image description here


Comments

Popular posts from this blog

java - Jasper subreport showing only one entry from the JSON data source when embedded in the Title band -

serialization - Convert Any type in scala to Array[Byte] and back -

SonarQube Plugin for Jenkins does not find SonarQube Scanner executable -