Equivalente de la curva () para ggplot

¿Hay un método equivalente para trazar funciones usando ggplot al comando curve() empleado en gráficos base? Supongo que la alternativa sería crear un vector de valores de la función y trazar una línea conectada, pero esperaba algo un poco más simple.

¡Gracias!

Puede agregar una curva usando stat_function :

 ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=sin) 

También es posible usar qplot , pero no está claro si esto es más simple:

 qplot(c(0,2), fun=sin, stat="function", geom="line") 

Si su función de curva es más complicada, entonces use una función lambda. Por ejemplo,

 ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=function(x) sin(x) + log(x)) 

Puede encontrar otros ejemplos en http://kohske.wordpress.com/2010/12/25/draw-function-without-data-in-ggplot2/

El ejemplo anterior de “data.frame” funciona bien y crea líneas de cuadrícula. El ejemplo ‘qplot’ no funciona en ggplot2 2.2.0 por las razones dadas.

También puede usar la función “curva” en ggplot2 2.2.0, pero no crea automáticamente líneas de cuadrícula o color de fondo. Por ejemplo: curve (cos (x), from = 0, to = pi / 2).

El método “ggplot (data.frame (…)) brinda el rango completo impresionante de las opciones de formato de ggplot2. Me gusta.