Я пойду прямо в точку с моей проблемой. До сих пор мне удалось получить следующий график, используя этот фрагмент кода:
test.dat %>%
ggplot(aes(Day, Time2)) +
geom_line(aes(Day, Sunrise2, group=1)) +
geom_line(aes(Day, Sunset2, group=1)) +
geom_point() +
facet_grid(Mooring ~ Month) +
scale_x_discrete(breaks = c("05", "10", "15", "20", "25", "30"),
labels=c("5", "10", "15", "20", "25", "30")) +
scale_y_continuous(labels = c("00:00", "06:00", "12:00", "18:00", "23:59"))
![Plot obtained](https://i.stack.imgur.com/b0hIW.png)
Теперь мой следующий шаг проблематичен. Мне нужно добиться следующего: мне нужно затенить область ниже нижней кривой, которую вы можете видеть, а также область выше самой высокой кривой (к вашему сведению эти кривые представляют часы восхода и захода солнца со временем).
Я пытался с geom_ribbon и geom_area , но пока не увенчался успехом. Конечно, есть кое-что, что я делаю неправильно, но я не могу понять, что. Я потратил часы на это, я немного отчаялся. Прежде чем вы спросите, я изучил много похожих тем и применил сказанное, но у меня ничего не получалось ...
Я надеюсь, вы можете помочь!
Ниже вы найдете образец данных, необходимых для создания этого графика.
Заранее большое спасибо!
structure(list(Dates_Times = structure(c(1436821980, 1437706320,
1436918940, 1438257840, 1436797020, 1439793660, 1441020000, 1433947260,
1433944380, 1435737360, 1436997180, 1434830160, 1438705680, 1436845680,
1433960220, 1434364080, 1436392380, 1438398960, 1436990460, 1439238300,
1436405040, 1433954940, 1435109820, 1440025500, 1438718160, 1436780880,
1438822320, 1437325020, 1436871600, 1439760240, 1434100860, 1436397180,
1434304380, 1438706160, 1439437680, 1437565680, 1436055120, 1433885820,
1439497500, 1434318000), class = c("POSIXct", "POSIXt"), tzone = "UTC"),
Mooring = c("M2", "M1", "M2", "M1", "M2", "M2", "M2", "M2",
"M2", "M1", "M2", "M1", "M1", "M1", "M2", "M1", "M2", "M1",
"M2", "M2", "M1", "M2", "M2", "M2", "M1", "M1", "M1", "M2",
"M1", "M1", "M2", "M2", "M2", "M1", "M1", "M1", "M1", "M2",
"M2", "M1"), Month = structure(c(3L, 3L, 3L, 3L, 3L, 4L,
4L, 2L, 2L, 3L, 3L, 2L, 4L, 3L, 2L, 2L, 3L, 4L, 3L, 4L, 3L,
2L, 2L, 4L, 4L, 3L, 4L, 3L, 3L, 4L, 2L, 3L, 2L, 4L, 4L, 3L,
3L, 2L, 4L, 2L), .Label = c("May", "June", "July", "August",
"September", "October", "November", "April", "December",
"March"), class = "factor"), Day = c("13", "24", "15", "30",
"13", "17", "31", "10", "10", "01", "15", "20", "04", "14",
"10", "15", "08", "01", "15", "10", "09", "10", "24", "19",
"04", "13", "06", "19", "14", "16", "12", "08", "14", "04",
"13", "22", "05", "09", "13", "14"), Time2 = c(0.884027777777778,
0.119444444444444, 0.00625, 0.502777777777778, 0.595138888888889,
0.278472222222222, 0.472222222222222, 0.611805555555556,
0.578472222222222, 0.330555555555556, 0.911805555555556,
0.830555555555556, 0.686111111111111, 0.158333333333333,
0.761805555555556, 0.436111111111111, 0.911805555555556,
0.136111111111111, 0.834027777777778, 0.850694444444444,
0.0583333333333333, 0.700694444444444, 0.0673611111111111,
0.961805555555556, 0.830555555555556, 0.408333333333333,
0.0361111111111111, 0.70625, 0.458333333333333, 0.891666666666667,
0.389583333333333, 0.967361111111111, 0.745138888888889,
0.691666666666667, 0.158333333333333, 0.491666666666667,
0.00833333333333333, 0.900694444444444, 0.850694444444444,
0.902777777777778), Sunrise2 = c(0.178703703703704, 0.187395833333333,
0.180613425925926, 0.194699074074074, 0.178703703703704,
0.220636574074074, 0.239085648148148, 0.167592592592593,
0.167592592592593, 0.166493055555556, 0.180613425925926,
0.162962962962963, 0.201064814814815, 0.176574074074074,
0.167592592592593, 0.163101851851852, 0.174409722222222,
0.197222222222222, 0.180613425925926, 0.211458333333333,
0.172048611111111, 0.167592592592593, 0.16693287037037, 0.223275462962963,
0.201064814814815, 0.175613425925926, 0.203668981481481,
0.184722222222222, 0.176574074074074, 0.216921296296296,
0.166979166666667, 0.174409722222222, 0.166527777777778,
0.201064814814815, 0.212916666666667, 0.185081018518519,
0.168993055555556, 0.167962962962963, 0.215381944444444,
0.163275462962963), Sunset2 = c(0.885914351851852, 0.874895833333333,
0.884270833333333, 0.86744212962963, 0.885914351851852, 0.841446759259259,
0.817835648148148, 0.889166666666667, 0.889166666666667,
0.892546296296296, 0.884270833333333, 0.893229166666667,
0.860590277777778, 0.884953703703704, 0.889166666666667,
0.891736111111111, 0.889363425925926, 0.864768518518519,
0.884270833333333, 0.852395833333333, 0.888680555555556,
0.889166666666667, 0.893541666666667, 0.838194444444444,
0.860590277777778, 0.885775462962963, 0.857696759259259,
0.88056712962963, 0.884953703703704, 0.842222222222222, 0.890289351851852,
0.889363425925926, 0.891261574074074, 0.860590277777778,
0.847025462962963, 0.877152777777778, 0.890949074074074,
0.888553240740741, 0.847789351851852, 0.89130787037037)), .Names = c("Dates_Times",
"Mooring", "Month", "Day", "Time2", "Sunrise2", "Sunset2"), row.names = c(5044L,
2151L, 5146L, 2515L, 5037L, 6092L, 6394L, 3895L, 3891L, 976L,
5226L, 716L, 2591L, 1658L, 3906L, 631L, 4840L, 2549L, 5214L,
5882L, 1365L, 3901L, 4444L, 6327L, 2607L, 1572L, 2701L, 5384L,
1707L, 3229L, 4156L, 4848L, 4221L, 2592L, 3045L, 2124L, 1130L,
3782L, 5911L, 545L), class = "data.frame")