knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/timezones-", fig.ext = "png", dev = "png") tryCatch({ Sys.setlocale("LC_ALL", "English") }) library(ggplot2) theme_set(theme_light())
This vignette presents some vital aspects of decorating your plot with solar cylce information
## load required namespaces for this vignette library(ggplot2) library(gghourglass)
With annotate_daylight()
you can add ribbons to your plot reflecting
the solar cycle. By default, it marks the time between sunset and sunrise:
## get example data data(bats) ## subset example date to the year 2018 bats_sub <- subset(bats, format(RECDATETIME, "%Y") == "2019") ## retrieve monitoring location lon <- attr(bats, "monitoring")$longitude[1] lat <- attr(bats, "monitoring")$latitude[1] ## plot the data p <- ggplot(bats_sub, aes(x = RECDATETIME)) + ## add hourglass geometry to plot geom_hourglass() + ## add informative labels labs(x = "Date", y = "Time of day") ## decorate the plot with night time ribbon p + annotate_daylight(lon, lat, c("sunset", "sunrise"), fill = "darkblue")
The order in which you include the solar events matter. In the example above, the time between sunset and sunrise (i.e., night time) is marked with a dark blue ribbon. But if you reverse the order, it will mark the day time:
p + annotate_daylight(lon, lat, c("sunrise", "sunset"), fill = "orange")
Moreover, you are not bound to only sunrise and sunset. You can pick any of the events supported by the suncalc package:
" * " |> paste0( formals(suncalc::getSunlightTimes)$keep |> eval()) |> paste0(collapse = "\n") |> cat()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.