如何通过ggplot2绘制复杂的函数?

时间:2017-09-11 13:12:36

标签: r ggplot2 glm

我试图为复杂功能的彩带着色。但是,这并不顺利(见下图):

screenshot

我只想绘制函数的下半部分。但是,在这种情况下,只绘制由顶点连接的部分,绘制的部分包含曲线。

我的代码:

p1 = ggplot(data.frame(x=c(-2.14344,1.25), y=c(0,12.5)), 
             aes(x, y))
p1 = p1 + stat_function(fun = function(x)(exp( -18.82 + 16.99  * x) + exp(-0.5497 - 0.6572  * x)))
p1 = p1 + xlim(-2.14344,1.25) + ylim(0,12.5)
p1 = p1 + geom_ribbon(fill="blue", alpha = 0.5,
                      aes(ymax = exp( -18.82 + 16.99  * x) + exp(-0.5497 - 0.6572  * x), 
                          ymin = 0))
print(p1)

我尝试解决此问题并在Google上搜索解决方案。但我找不到任何建议。

如果您有任何建议,请告诉我如何解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:2)

一种选择是移除geom_ribbon部分并在geom = 'area'中添加stat_function

p1 <- ggplot(data.frame(x=c(-2.14344,1.25),y=c(0,12.5)), aes(x,y)) + 
      stat_function(fun=function(x)(exp( -18.82 + 16.99  * x) + exp(-0.5497 - 0.6572  * x)),geom = "area") + 
      xlim(-2.14344,1.25) + ylim(0,12.5) #+ geom_ribbon(fill="blue", alpha=0.5,aes(ymax=exp( -18.82 + 16.99  * x) + exp(-0.5497 - 0.6572  * x), ymin=0))
p1