如何通过ggplot2绘制一个复杂的函数?
How to paint a complex function by ggplot2?
我正在尝试为复杂函数的色带着色。然而,这并不顺利(见下图):
我只想绘制函数的下半部分。但是,在这种情况下,只有顶点连接的部分被绘制,绘制的部分包含曲线。
我的代码:
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 上搜索了解决方案。但是我找不到任何建议。
如果您知道任何建议,请告诉我如何解决这个问题。谢谢!
一种选择是删除 geom_ribbon
部分并在 stat_function
中添加 geom = 'area'
:
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
我正在尝试为复杂函数的色带着色。然而,这并不顺利(见下图):
我只想绘制函数的下半部分。但是,在这种情况下,只有顶点连接的部分被绘制,绘制的部分包含曲线。
我的代码:
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 上搜索了解决方案。但是我找不到任何建议。
如果您知道任何建议,请告诉我如何解决这个问题。谢谢!
一种选择是删除 geom_ribbon
部分并在 stat_function
中添加 geom = 'area'
:
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