Как мне раскрасить мой график в R, основываясь на пиковых и непиковых временах? - PullRequest
0 голосов
/ 05 июля 2018

. Сначала я создал свой фрейм данных, DF.

date <- c("2018-06-25", "2018-06-25", "2018-06-26", "2018-06-26", "2018-06-27", "2018-06-27")

time <- c("10:11:11","17:30:30","15:55:00","18:35:30", "09:06:01","20:15:30")

temperature <- c("15", "18", "16", "17", "14", "15")

DF <- data.frame(date, time, temperature)

DF$Date_Time <- paste(DF$date, DF$time)

DF$Date_Time <- ymd_hms(DF$Date_Time)

. Я хочу изобразить температуру по разным датам.

. Я хочу раскрасить точки графика на основе пиковых и непиковых часов. 9:00 - 17:00 - часы пиковые часы, а любое другое время в этом случае состоит из непиковых часов.

. Я не уверен, как адаптировать мой код ниже, чтобы раскрасить точки на графике. Может кто-нибудь посоветовать мне, пожалуйста?

ggplot(DF, aes(Date_Time, temperature))+geom_point() + ggtitle('Temperature plot')

1 Ответ

0 голосов
/ 05 июля 2018

Возможно, это поможет:

DF$time_test <- ifelse('09:00:00' < time & time< '17:00:00',1,0)


ggplot(DF, aes(Date_Time, temperature, color = time_test))+ geom_point()  + ggtitle('Temperature plot')

или используя пакет data.table

DF$time_test <- between(as.ITime(DF$Date_Time),as.ITime("09:00:00"),as.ITime("17:00:00"))

ggplot(DF, aes(Date_Time, temperature, color = time_test))+geom_point()  + ggtitle('Temperature plot')

Вы можете изменить цвета, используя: scale_color_manual

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...