簡體   English   中英

使用geom_smooth時可以繞過stat_smooth嗎?

[英]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 (有效平均值)值。 這是一個小offiMoYr (實際上是在關閉的過程中,以及在全年的不同個月)。

數據表已經在標題minEclmaxEcl下具有計算出的有效平滑值范圍。 我希望能夠使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM