Как добавить geom_line поверх графика geom_raster
Я пытаюсь сделать следующее изображение в R, используя geom_raster и geom_line (я сделал это, используя каждый из них в отдельности и сделав фото-шоппинг на линии сверху).
x - время (здесь дни), y - глубина (м), цвет - температура (C)
Цвет фона - это средняя температура для каждого бункера глубиной 10 метров, которая не изменяется с x. Строка - это показание глубины, записываемое каждые две минуты.
Есть ли способ сделать это в ggplot?
Моя структура фрейма данных и код для получения этих графиков были просто:
Unique.days depthbins temperature Unique.point ActualDepth
119 5 29.34 1 61.9
119 15 29.10 2 52.8
119 25 28.90 3 53.8
119 35 28.45 4 52.8
119 45 27.23 5 60.2
119 185 21.57 19 10
119 195 21.38 20 15.1
119 5 29.34 21 20.1
119 15 29.1 22 15.2
Температура - это среднее значение для каждой ячейки глубины, и эти строки повторяются каждые 20 строк для всего набора данных. ActualDepth - это трассировка, которая отличается по всему набору данных.
(1) Для растра
КОД:
ggplot(data = test1, aes(x = Unique.days, y = depthbins)) +
geom_raster(aes(fill = temperature), interpolate = TRUE) +
scale_y_reverse()
(2) Для geom_line
КОД:
ggplot(data = test1, aes(x = Unique.point, y = ActualDepth)) +
geom_line(data = test1, aes(x = Unique.point, y = ActualDepth)) +
scale_y_reverse() +
theme_bw()
Когда я попытался соединить их, я не могу правильно оценить масштаб. например
ggplot(data = test1, aes(x = Unique.days, y = DepthBins)) +
geom_raster(aes(fill = temperature), interpolate = TRUE) +
scale_y_reverse() +
geom_line(data = test1,
aes(x = Unique.days, y = ActualDepth),
col = 'white')
результаты в:
Цвета пока не имеют большого значения, но я хочу, чтобы изменение глубины было очевидным.
Любая помощь будет принята с благодарностью!