Highlight area in a time series when y is greater than a threshold value and a range of values

I need to highlight the areas in a time series plot where variable 1 is greater than 28.3m and in a separate plot where variable 2 is between 335 and 390 and then stack these plots on top of each other in a similar fashion to the plots in this post. (https://stackoverflow.com). The highlighted areas may not align in the two plots for my data (not a problem) but I need the time series on the x axis to align for both plots. My code is highlighting areas where the values are less than the threshold or range specified. I haven’t been able to apply the code in the attached link either. I would be very grateful for any help.

My plots with areas greater than the threshold (variable 1) and the range (variable 2) highlighted

# Load packages
library(xts)
#> Warning: package 'xts' was built under R version 4.3.3
#> Loading required package: zoo
#> Warning: package 'zoo' was built under R version 4.3.3
#> 
#> Attaching package: 'zoo'
#> The following objects are masked from 'package:base':
#> 
#>     as.Date, as.Date.numeric
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 4.3.3
library(gridExtra)
#> Warning: package 'gridExtra' was built under R version 4.3.3

# Time series data every 15 minutes for 2 different variables
start_time <- as.POSIXct("2024-05-01 00:00:00")
end_time <- as.POSIXct("2024-05-02 00:00:00")
time_seq <- seq(from = start_time, to = end_time, by = "15 min")

# Variable 1
variable1 <- rnorm(length(time_seq), mean = 25, sd = 5)
variable1
#>  [1] 31.452204 34.229997 19.047123 26.844743 22.327691 12.682271 20.564659
#>  [8] 26.331974 24.893855 22.597634 24.314774 21.237276 18.785375 31.627823
#> [15] 25.954387 24.307384 21.102954 26.165051 30.292535 17.264886 22.785419
#> [22] 27.522335 26.295807 23.597723 23.657863 23.413000 22.775842 21.728302
#> [29] 26.022966 23.123091 26.817597 24.204606 18.777309 26.390069 26.925893
#> [36] 28.578040 15.606991 19.806388 19.559110 33.273247 19.491936 26.885432
#> [43] 21.011700 21.913628 26.396894 26.332012 25.791075  9.982174 28.319294
#> [50] 21.514951 25.207554 34.536646 31.824424 21.076760 23.427044 25.038913
#> [57] 17.130033 30.236732 28.399196 24.639311 31.297112 21.564490 20.871799
#> [64] 16.418709 21.426628 23.043023 23.958555 20.499409 19.211735 16.667424
#> [71] 30.939044 30.710873 27.214920 26.483750 24.466929 24.234939 22.637392
#> [78] 16.494583 21.445385 19.452421 27.686310 25.870387 23.787408 30.874698
#> [85] 22.071969 23.786988 28.491280 17.214366 27.889996 27.887324 26.264287
#> [92] 23.469014 21.981297 21.467441 30.862239 27.277739 18.249946

# Variable 2
variable2 <- rnorm(length(time_seq), mean = 350, sd = 20)

# dataframe of the 2 variables
df <- data.frame(DateTime = time_seq, Variable1 = variable1, Variable2 = variable2)
head(df)
#>              DateTime Variable1 Variable2
#> 1 2024-05-01 00:00:00  31.45220  353.8642
#> 2 2024-05-01 00:15:00  34.23000  356.6766
#> 3 2024-05-01 00:30:00  19.04712  357.6353
#> 4 2024-05-01 00:45:00  26.84474  361.7499
#> 5 2024-05-01 01:00:00  22.32769  351.2901
#> 6 2024-05-01 01:15:00  12.68227  363.9686

# Highlight areas on plot where Variable 1 > 28.3
plot_var1 <- ggplot(df, aes(x = DateTime, y = Variable1)) +
  geom_line(color = "blue") +
  geom_rect(data = subset(df, Variable1 > 28.3),
            aes(xmin = DateTime, xmax = lead(DateTime), ymin = -Inf, ymax = Inf),
            fill = "lightblue", alpha = 0.3) +
  labs(x = "Time", y = "Variable 1") +
  theme_minimal()

# Highlight areas on plot where Variable 2 is between 335 and 390
plot_var2 <- ggplot(df, aes(x = DateTime, y = Variable2)) +
  geom_line(color = "red") +
  geom_rect(data = subset(df, Variable2 > 335 & Variable2 < 390),
            aes(xmin = DateTime, xmax = lead(DateTime), ymin = -Inf, ymax = Inf),
            fill = "lightpink", alpha = 0.3) +
  labs(x = "Time", y = "Variable 2") +
  theme_minimal()

# Arrange plots in one column and align by x-axis
grid.arrange(plot_var1, plot_var2, ncol = 1)

Created on 2024-05-12 with reprex v2.1.0

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật