我有一个数据集,我已经建立了以下的地块:

这幅图是从本文底部包含的数据集中输入的,并由以下ggplot2代码生成:
ggFacetProfile <- ggplot(sub, aes(group = iMoYr)) +
geom_line(aes(x= iHrMi, y = trimAv)) +
facet_grid(off ~ iMoYr, scales = "free") +
ggtitle("Typical Half Hourly Profiles") +
xlab("Time") + ylab("Energy (kWh)")这里,我绘制了trimAv (有效平均值)在iHrMi (有效小时和分钟)上的值。这是off iMoYr的一个方面(实际上是关闭的过程,一年中不同的月份)。
数据表的有效平滑值范围已经在其中的标题minEcl和maxEcl下计算出来了。我希望能够使用geom_smooth将图形上的数据表示为geom_smooth函数创建的形状的边界,但是我还无法找到绕过调用stat_smooth的方法。
到目前为止,我最近的尝试是包括:
+ geom_smooth(aes(x= iHrMi, y = trimAv, ymin = minEcl, ymax = maxEcl))然而,这是被迫的黄土平滑,显然是由于数据的大小,这看起来如下:

是否有可能为geom_smooth提供特定的预计算值,还是我试图以非常错误的方式使用geom_smooth?geom_中的其他ggplot2参数具有如此强的适应性,这看起来是如此僵化,这似乎是不协调的。
为了结构目的,数据源(数据表)的头和尾包括在下面:
iDate off trimAv trimStD minEcl maxEcl iMoYr iHrMi
1: 2013-08 00:00 Production 136.52273 37.300389 76.4 218.4 2013-08 00:00
2: 2013-08 00:30 Production 136.14091 36.117819 80.3 217.7 2013-08 00:30
3: 2013-08 01:00 Production 133.92500 32.808662 76.9 213.3 2013-08 01:00
4: 2013-08 01:30 Production 139.20476 37.929480 77.1 221.5 2013-08 01:30
5: 2013-08 02:00 Production 137.82857 36.422042 74.9 221.0 2013-08 02:00
---
1148: 2014-07 22:30 Non-Production 50.51250 3.025812 47.1 56.3 2014-07 22:30
1149: 2014-07 23:00 Non-Production 49.88571 2.066743 47.0 52.6 2014-07 23:00
1150: 2014-07 23:30 Non-Production 49.94286 2.318661 46.5 52.5 2014-07 23:30
1151: 2014-07 00:00 Non-Production 50.85714 2.860569 47.9 54.9 2014-07 00:00
1152: 2014-07 00:30 Non-Production 50.72857 4.181194 47.6 59.1 2014-07 00:30如果我能以更好/更合适的形式包括源数据,请在评论中告诉我。
发布于 2015-02-02 17:24:42
也许你在找geom_ribbon。
ggFacetProfile <- ggplot(sub, aes(group = iMoYr)) +
geom_line(aes(x= iHrMi, y = trimAv)) +
facet_grid(off ~ iMoYr, scales = "free") +
ggtitle("Typical Half Hourly Profiles") +
xlab("Time") + ylab("Energy (kWh)") +
geom_ribbon(aes( ymin = minEcl, ymax = maxEcl))https://stackoverflow.com/questions/28280586
复制相似问题