В настоящее время я делаю некоторые графики температуры / времени.Я раскрашиваю данные по состоянию включения / выключения обогревателя.При построении графика на больших временных масштабах точки начинают сливаться вместе, и синусоидальная структура точек затеняется.Этот шаблон намного более понятен, если я установлю type = 'l'
в вызове plot (), но это не позволяет мне раскрасить по статусу нагревателя.
Есть ли способ покрасить части линии с помощью связанныхзначение столбца?Или, альтернативно, есть ли способ, которым я мог бы разделить данные и построить линию как серию отрезков, разделив данные по состоянию нагревателя, которые будут масштабироваться с различными временными диапазонами?
Вот пример кода
templog = data.frame(temp = c(0,1,2,3,4,4,3,2,1,0,0,1,2,3,4),
time = as.POSIXct(c('2019-02-10 00:00:05','2019-02-10 00:00:10','2019-02-10 00:00:15','2019-02-10 00:00:20','2019-02-10 00:00:25','2019-02-10 00:00:30','2019-02-10 00:00:35','2019-02-10 00:00:40','2019-02-10 00:00:45','2019-02-10 00:00:50','2019-02-10 00:00:50','2019-02-10 00:00:55','2019-02-10 00:01:00','2019-02-10 00:01:05','2019-02-10 00:1:10'), tz = 'GMT'),
heaterstatus = c('on','on','on','on','on','off','off','off','off','off','on','on','on','on','on'))
plot(templog$temp~templog$time, col = as.factor(templog$heaterstatus))
plot(temp~time, data = templog, col = as.factor(heaterstatus), type = 'l')
Во втором вызове plot () я бы хотел, чтобы разные участки линии были по-разному окрашены.Если это невозможно, я бы хотел автоматизировать разделение данных и построение графиков различных отрезков линий по статистике нагревателя, которая будет масштабироваться по мере добавления новых данных в журнал.
Спасибо.