[英]Is it possible to bypass stat_smooth when using geom_smooth?
我有一個數據集,圍繞它建立了以下圖表:
該圖是從本文底部提供的數據集中獲取的,並由以下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)")
在這里,我在iHrMi
(有效小時和分鍾)上繪制了trimAv
(有效平均值)值。 這是一個小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? ggplot2中的其他geom_參數如此適應性強,似乎太僵化了,這似乎並不協調。
出於結構目的,下面包括數據源的頭尾(數據表):
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
如果可以更好/更合適的形式包含源數據,請在評論中告知我。
也許您正在尋找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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.