【发布时间】:2017-07-25 11:23:15
【问题描述】:
所以我有一个这样的数据框:
a_data <-
data.frame(
f = f,
alpha = alpha,
asymptote = alpha_1_est)
还有这样的函数:
a_formula <- function(x) {
0.7208959 - 0.8049132 * exp(-21.0274 * x)}
我将它们与 ggplot2 一起使用:
ggplot(a_data, aes(x = f, y = alpha)) +
geom_point() +
#function curve
stat_function(fun = a_formula,
color = "red") +
#asymptote of alpha
geom_hline(
yintercept = asymptote,
linetype = "longdash",
color = "blue")
我想要但找不到方法是对y 轴、函数曲线(红色)和渐近线(虚线)之间的区域进行着色,如下所示:
我曾尝试在其中挤压丝带或多边形,但无法正常工作 - 可能是因为我想在曲线上方而不是下方(下方可以正常工作) .
这是数据框的样子:
> head(a_data)
f alpha asymptote
1 0.01 0.007246302 0.7208959
2 0.03 0.374720198 0.7208959
3 0.05 0.484362949 0.7208959
4 0.07 0.540090209 0.7208959
5 0.09 0.625383303 0.7208959
6 0.11 0.590898201 0.7208959
附:我对 stackoverflowing 还很陌生,所以如果我违反了任何约定或以其他方式弄乱了问题,请不要犹豫指出。
【问题讨论】:
-
你试过geom_ribbon吗?也许看看this
-
你能运行
dput(a_data)并粘贴输出吗?它应该足够小并且可以完全复制。顺便说一句:您已经完成了 ++gd 的工作来构建问题并设置示例。但是,在您的a_data输出中没有f,并且geom_hline()调用将无法找到asymptote,除非您打算将它放在aes()中 -
@hrbrmstr,实际上
dput(a_data)的输出很大,所以我不确定将它添加到问题中是否是个好主意(不能只是将其粘贴到评论中,它太大了)。但我明白你的意思——下次我问问题时,我会更仔细地考虑繁殖。感谢您的宝贵时间! -
@simone 我有,我也看到了你链接的问题。对我帮助不大,但也许我需要仔细看看。谢谢!