Вот пример того, как вы можете построить свои данные, используя r
:
Поскольку вы не предоставили воспроизводимый пример, я создал поддельный пример, используя мое понимание вашего кода. По сути, похоже, что у вас есть файл с 4 столбцами: Days, Temperature, Humidity и Light_levels. Здесь я создаю только две колонки.
set.seed(123)
df <- data.frame(Day = as.character(seq.Date(from = as.Date("2019-01-01", format = "%Y-%m-%d"), to =as.Date("2019-02-01", format = "%Y-%m-%d"), by = "days" )),
Light_levels = sample(0:100,32, replace = TRUE))
Файл данных df
должен выглядеть следующим образом:
> head(df)
Day Light_levels
1 2019-01-01 30
2 2019-01-02 78
3 2019-01-03 50
4 2019-01-04 13
5 2019-01-05 66
6 2019-01-06 41
Я думаю, что ваша проблема связана с управлением форматом даты. В r
довольно часто, когда вы импортируете CSV-файл как фрейм данных, он преобразует даты в факторный или символьный формат.
Вы можете проверить, просмотрев структуру фрейма данных с помощью str
функция:
> str(df)
'data.frame': 32 obs. of 2 variables:
$ Day : Factor w/ 32 levels "2019-01-01","2019-01-02",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Light_levels: int 30 78 50 13 66 41 49 42 100 13 ...
Итак, чтобы использовать даты в формате даты, вам необходимо преобразовать этот фактор-формат в формат даты, используя:
df$Day = as.Date(df$Day, format = "%Y-%m-%d")
Теперь, если вы проверите структура df
, вы увидите:
str(df)
'data.frame': 32 obs. of 2 variables:
$ Day : Date, format: "2019-01-01" "2019-01-02" "2019-01-03" ...
$ Light_levels: int 30 78 50 13 66 41 49 42 100 13 ...
Теперь вы можете построить ее с пакетом ggplot2
(сначала у вас есть тонна установки ggplot2
):
library(ggplot2)
ggplot(df, aes(x = Day, y = Light_levels))+
geom_line()+
scale_x_date(date_breaks = "days", date_labels = "%b %d")+
theme(axis.text.x = element_text(angle = 45, hjust = 1))
и получите следующий график: 
Вы можете настроить отображение каждой даты, играя с аргументами scale_x_date
(см. Дополнительную информацию здесь: https://ggplot2.tidyverse.org/reference/scale_date.html)
В качестве альтернативы, без установки пакета ggplot2
, вы можете сделать это, используя функцию base
R plot
:
plot(x = df$Day, y = df$Light_levels, type = "l", xaxt = "n", xlab = "")
axis.Date(1,at=seq(min(df$Day), max(df$Day), by="days"), format="%b %d")
Надеюсь, это поможет вам понять, как построить ваши данные.