相当于ggplot的curve()

Cha*_*lie 66 r ggplot2

是否有一种等效的方法来绘制函数使用基本图形中使用ggplotcurve()命令?我想替代方法是创建函数值的向量并绘制连接线,但我希望更简单一些.

谢谢!

koh*_*ske 74

您可以使用以下命令添加曲线stat_function:

ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=sin)
Run Code Online (Sandbox Code Playgroud)

它也可以使用qplot,但不清楚这是否更简单:

qplot(c(0,2), fun=sin, stat="function", geom="line")
Run Code Online (Sandbox Code Playgroud)

如果曲线函数更复杂,则使用lambda函数.例如,

ggplot(data.frame(x=c(0, 10)), aes(x)) + 
  stat_function(fun=function(x) sin(x) + log(x))
Run Code Online (Sandbox Code Playgroud)

你可以在http://kohske.wordpress.com/2010/12/25/draw-function-without-data-in-ggplot2/找到其他例子.

  • 对于`qplot(c(0,2),fun = sin,stat ="function",geom ="line")`,`stat`现在在2016年被弃用,而`fun`不再是可接受的参数. (5认同)