Rmarkdown, ggplotly + flexdashboard: problems with geom_vline

Hi, I'm designing an flexdashboard output using ggplotly with geom_vline. With the next code, I can view the plot as I need:

library(openair)
library(tidyverse)
library(plotly)

aq <- importAURN(site = c("my1", "nott"), year = 2000,
                 pollutant = c("nox", "no2", "o3"))
aq <- aq %>% pivot_longer(cols = 2:4, names_to = "Parameter", values_to = "Value")

event <- tibble(date = c("2000-03-23 11:00:00","2000-05-29 11:40:00","2000-08-22 12:00:00"))
event$date <- as.POSIXct(event$date,format="%Y-%m-%d %H:%M", tz = "UTC")

b <- ggplot(aq,
       aes(x = date, 
           y = Value, 
           colour = site,
           group = site)) + 
  geom_line() + 
  geom_vline(data = event ,
             aes(xintercept = as.numeric(date)),
             linetype = 2, 
             colour = "blue",
             show.legend = TRUE) +
  theme_bw() +
  facet_grid(Parameter ~ .,
             scales = "free")

ggplotly(b,dynamicTicks = TRUE) %>% 
  layout(legend = list(orientation = "h", y = -0.2))

But, when I use the same code structure, in other flexdashboard output, the plot don't show the vertical lines:

fecha.evento <- tibble(date = as.character(evento.q$`Toma conocimiento`))
fecha.evento$date <- as.POSIXct(fecha.evento$date,format="%Y-%m-%d %H:%M:%S", tz = "UTC")

a <- ggplot(quintero,
       aes(x = date,
           y = dato_val_ug,
           colour = Ubicación, 
           group = Ubicación)) + 
  geom_line() + 
  geom_vline(data = fecha.evento,
             aes(xintercept = as.numeric(date)),
             linetype = 2, 
             colour = "blue",
             show.legend = TRUE) +
  theme_bw() +
  facet_grid(Parámetro ~ .,
             scales = "free")

ggplotly(a,dynamicTicks = TRUE) %>% 
  layout(legend = list(orientation = "h", y = -0.2))

I think the problem is with de event dates. In the first case I created an tibble based on dates created manually: event. In the second case, I use the data upload from excel and adapted to the same structure in event:

> str(event)
tibble [3 × 1] (S3: tbl_df/tbl/data.frame)
 $ date: POSIXct[1:3], format: "2023-03-23 11:00:00" "2023-05-02 11:40:00" "2023-04-22 12:00:00"

> str(fecha.evento)
tibble [10 × 1] (S3: tbl_df/tbl/data.frame)
 $ date: POSIXct[1:10], format: "2023-03-23 11:00:00" "2023-03-29 11:40:00" "2023-03-30 12:00:00" "2023-03-31 10:30:00" ...

But when I use the fecha.evento data in my dataset, ggplotly don't show me the events using geom_vline.

Thank you.

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.