76 votes

L'équivalent de la courbe() pour ggplot

Est-t-il un équivalent de la méthode pour tracer les fonctions à l'aide d' ggplot de la curve() commande employées dans des graphismes de base? Je pense que la solution serait de créer un vecteur de valeurs de la fonction et tracer une ligne connectée, mais je m'attendais à quelque chose d'un peu plus simple.

Merci!

86voto

kohske Points 30437

Vous pouvez ajouter une courbe à l'aide de l' stat_function:

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

Il est également possible d'utiliser qplot, mais il n'est pas clair si cela est plus simple:

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

Si votre courbe de fonction est plus complexe, puis utiliser une fonction lambda. Par exemple,

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

vous pouvez trouver d'autres exemples à http://kohske.wordpress.com/2010/12/25/draw-function-without-data-in-ggplot2/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X