Я начинаю с использования R и ggplot для визуализации данных временных рядов переменных среды. До сих пор я люблю возможности ggplot2 для визуализации данных, легко выбирая разные периоды и переменные для построения и определения эстетики. Но теперь я столкнулся с первой проблемой, которую я не смог по-настоящему гуглить:
- Моя цель - построить несколько переменных из разных информационных фреймов с индивидуальной эстетикой (фиксированный период, одна и та же ось Y, разные цвета и т. Д.) В одном графике
У меня есть 8 фреймов данных («TreeA
» - «TreeH
»), структурированных как показано ниже, где TreeA
- Имя фрейма данных, «Время» - время измерения, отформатированное в POSIXct
формат и Tleaf
, Tair
и Tdiff
- три из 16 переменных:
TreeA
Zeit Tleaf Tair Tdiff ........
1: 2018-05-18 00:00:00 12.997 13.20000 -0.203
2: 2018-05-18 00:10:00 13.082 13.20000 -0.119
3: 2018-05-18 00:20:00 11.909 12.06700 -0.158
4: 2018-05-18 00:30:00 11.315 11.53300 -0.219
5: 2018-05-18 00:40:00 11.251 11.46700 -0.216
Я melt
перевел DF на длинный формат, получив
TreeA_long
Time variable value
1: 2018-05-18 00:00:00 Tleaf 12.997000000
2: 2018-05-18 00:10:00 Tleaf 13.082000000
3: 2018-05-18 00:20:00 Tair 11.909
4: 2018-05-18 00:30:00 Tair 11.315
5: 2018-05-18 00:40:00 Tdiff 1.251
Исходя из этого, я успешно строил графики с функциями ggplot:
ggplot(subset(TreeA_long, variable %in% c("Tleaf","Tair","Tdiff")),
aes(x=Time,
y=value, color=variable)) +
geom_line() +
scale_x_datetime(limits=start.endKW21, labels = date_format("%d") , breaks = date_breaks("24 hours")) +
scale_y_continuous(limits = c(5,55),breaks = seq(10,55, by = 2)) +
labs(title="Mai/Juni Cbet1", x="Day", y="Temperature") +
theme(legend.position='right') +
scale_color_manual(values = c("Tleaf" = "green", "Tair" = "blue", "Tdiff" = "yellow"))
Я попытался добавить второй geom_line(data=TreeB_long)
для построения переменных из второго Dataframe на том же графике. Он работал для построения всех переменных из TreeB
, но, конечно, мне нужно сравнить те же переменные, а также я хочу указать эстетику (цвет линий, штриховые линии и т. Д. Для каждой переменной.
Итак, мой вопрос:
- Как я могу сравнить
TreeA
с TreeB
на одном графике?
- Также я бы
открыта для объединения различных Dataframes, но это не работает
подключаться в длинном формате с одинаковыми именами переменных
Я надеюсь, что мои вопросы достаточно ясны, и вы можете мне как-то помочь. Я считаю, что есть простое решение моей проблемы, но, как я уже сказал, поиск в Google пока не дал хороших результатов.
Спасибо и хорошего дня!
Konrad