views:

361

answers:

1

Using ggplot, is there a way of graphing several functions on the same plot? I want to use parameters from a text file as arguments for my functions and overlay these on the same plot.

I understand this but I do not know how to add the visualized function together if I loop through.

+2  A: 

Here is an implementation of Hadley's idea.

library(ggplot2)
funcs <- list(log,function(x) x,function(x) x*log(x),function(x) x^2,  exp)
cols <-heat.colors(5,1)
p <-ggplot()+xlim(c(1,10))+ylim(c(1,10))
for(i in 1:length(funcs))
    p <- p + stat_function(aes(y=0),fun = funcs[[i]], colour=cols[i])
print(p)
Ian Fellows
Thanks for the suggestion, but I can't get this code to work as it is. I'm not very familiar with the R syntax, apologies if I'm missing something obvious.
celenius
You will need to have ggplot2 loaded, which you can do by calling library(ggplot2) . If you are still having problems, please share what error you are getting.
Ian Fellows
Maybe you missed the installation step:install.packages("ggplot2")HIH
Paolo
Thanks - it works now. I'm not sure what I was doing wrong previously. I did import ggplot2, but I was getting an error about no layers on the plot.
celenius