使用ggplot
绘制函数是否有与基础图形中的curve()
命令相对应的方法?我猜想另一种选择就是创建一个函数值的向量并绘制连接线,但我希望有更简单的方法。
谢谢!
stat_function
添加曲线:ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=sin)
如果您的曲线函数比较复杂,那么可以使用lambda函数。例如,ggplot(data.frame(x=c(0, 10)), aes(x)) +
stat_function(fun=function(x) sin(x) + log(x))
在早期版本中,您可以像下面这样使用qplot
,但现在已不再建议使用。
你可以在这里找到其他示例。
qplot(c(0,2), fun=sin, stat="function", geom="line")
上面的data.frame
示例很好用,它可以生成网格线。而qplot
示例在ggplot2 2.2.0中由于某些原因无法正常工作。
在ggplot2 2.2.0中,您还可以使用“curve”函数,但它不会自动生成网格线或背景颜色。例如:
curve(cos(x), from= 0, to= pi/2).
"ggplot(data.frame(...))" 方法提供了 ggplot2 格式化选项的全部功能,非常令人印象深刻。我喜欢它。
curve
是一个基础函数,而不是 ggplot2
的函数。它没有像 ggplot2
那样绘制网格线或背景色,这是因为它不是 ggplot2
。 - Gregor Thomas
qplot(c(0,2), fun=sin, stat="function", geom="line")
,在2016年时stat
已被弃用,而fun
不再是一个可接受的参数。 - akhmed