Welcome to ClientVPS Mirrors

In the zone

In the zone

This vignette presents some vital aspects of time zones when adding ‘hourglass’ layers to your plot

## load required namespaces for this vignette
library(ggplot2)
library(gghourglass)
library(dplyr)
library(lubridate)

Whether it’s day or night depends on where you are on the Earth’s globe. This is why you need to pass the longitude and latitude when you wish to decorate your plot with ribbons indicating night (or day) time.

But which hour of the day is it anyway? Well, that of course depends on the time zone that you use as a reference. The ?bats dataset, included with the gghourglass package, expresses the date and time in Coordinated Universal Time (UTC). This makes sense when your observations are close to the prime meridian, but not so much when you are in a different time zone (such as the Central Time Zone in the United States).

Let’s make this more clear through an example. We start by plotting the provided observations of bat call sequences:

## 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)) +
  
    ## annotate sunset until sunrise
    annotate_daylight(lon, lat, c("sunset", "sunrise")) +
  
    ## annotate dusk until dawn
    annotate_daylight(lon, lat, c("dusk", "dawn")) +
  
    ## add hourglass geometry to plot
    geom_hourglass() +
  
    ## add informative labels
    labs(x = "Date", y = "Time of day")
p

Note that the geom_hourglass() layer automatically uses the time zone as specified by the data (UTC). If you wish to display it in a different time zone, such as for instance Central European Time (CET), you simply mutate the time zone of the observations with lubridate::with_tz():

p %+%
  mutate(bats_sub, RECDATETIME = with_tz(RECDATETIME, "CET"))

Hold on, why is the ribbon indicating night time jagged? This is because CET has summer daylight-saving time which causes the night-time to shift one hour.

Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.

This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.