| Type: | Package | 
| Title: | Add Day/Night Patterns to 'ggplot2' Plots | 
| Version: | 0.1.3 | 
| Description: | It provides a custom 'ggplot2' geom to add day/night patterns to plots. It visually distinguishes daytime and nighttime periods. It is useful for visualizing data that spans multiple days and for highlighting diurnal patterns. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| URL: | https://github.com/GabrielSlPires/ggdaynight | 
| BugReports: | https://github.com/GabrielSlPires/ggdaynight/issues | 
| Imports: | ggplot2, grid | 
| Depends: | R (≥ 2.10) | 
| RoxygenNote: | 7.3.1 | 
| Suggests: | testthat (≥ 3.0.0), vdiffr | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2024-05-22 17:48:25 UTC; gabriel | 
| Author: | Gabriel S. Pires | 
| Maintainer: | Gabriel S. Pires <gabriel.slpires@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-05-23 07:10:09 UTC | 
GeomDayNight
Description
A ggproto object for creating a day/night pattern geom in ggplot2.
Usage
GeomDayNight
Format
An object of class GeomDayNight (inherits from Geom, ggproto).
Details
This geom creates a pattern along the x-axis of a ggplot2 plot, distinguishing between daytime and nighttime using rectangles filled with specified colors.
Create Day/Night Pattern Data
Description
Generates a data frame representing daytime and nighttime periods based on a sequence of datetime values.
Usage
daynight_table(min_datetime, max_datetime, sunrise, sunset)
Arguments
| min_datetime | The starting datetime value (POSIXct format). | 
| max_datetime | The ending datetime value (POSIXct format). | 
| sunrise | The hour at which daytime starts. | 
| sunset | The hour at which nighttime starts. | 
Value
A data frame with columns datetime and daytime,
where datetime represents the datetime values and daytime
is a logical indicating whether the time is during the day.
Sensor Temperature Data
Description
A dataset containing temperature readings from multiple sensors over a specified period.
Usage
daynight_temperature
Format
## 'daynight_temperature' A data frame with 1833 rows and 3 columns:
- sensor
- Sensor identifier (e.g., A, B) 
- datetime
- Timestamp of the reading (POSIXct format) 
- temperature
- Temperature reading in degrees Celsius 
Source
Sensor readings collected on 2024-04-23 in Campinas-SP, Brazil.
Draw Day/Night Pattern on Panel
Description
Internal function to draw the day/night pattern on the ggplot2 panel.
Usage
draw_panel_daynight(
  data,
  panel_params,
  coord,
  day_fill,
  night_fill,
  sunrise,
  sunset
)
Arguments
| data | The data to be displayed. | 
| panel_params | The parameters of the panel. | 
| coord | The coordinate system. | 
| day_fill | The fill color for daytime rectangles. | 
| night_fill | The fill color for nighttime rectangles. | 
| sunrise | The hour at which daytime starts. | 
| sunset | The hour at which nighttime starts. | 
Value
A gList object containing the grobs for the day/night pattern.
Add Day/Night Pattern to ggplot
Description
Adds a day/night pattern to a ggplot object. Daytime is represented by rectangles filled with the specified 'day_fill' color and nighttime by rectangles filled with the specified 'night_fill' color. The pattern is created along the x-axis, which must be a datetime variable.
Usage
geom_daynight(
  mapping = NULL,
  data = NULL,
  stat = "identity",
  position = "identity",
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE,
  day_fill = "white",
  night_fill = "grey30",
  sunrise = 6,
  sunset = 18,
  ...
)
Arguments
| mapping | Set of aesthetic mappings created by  | 
| data | The data to be displayed in this layer. There are three options: If  A  A  | 
| stat | The statistical transformation to use on the data for this layer.
When using a  
 | 
| position | A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The  
 | 
| na.rm | If  | 
| show.legend | logical. Should this layer be included in the legends?
 | 
| inherit.aes | If  | 
| day_fill | The fill color for daytime rectangles. Defaults to "white". | 
| night_fill | The fill color for nighttime rectangles. Defaults to "grey30". | 
| sunrise | The hour at which daytime starts. Defaults to 6 (6 AM). | 
| sunset | The hour at which nighttime starts. Defaults to 18 (6 PM). | 
| ... | Additional arguments passed to 'geom_rect'. | 
Value
A ggplot2 layer representing the day/night pattern.
Examples
# Basic usage with default parameters
library(ggplot2)
ggplot(daynight_temperature, aes(datetime, temperature)) +
  geom_daynight() +
  geom_point()
# Basic usage with faceting by sensor
ggplot(daynight_temperature, aes(datetime, temperature)) +
  geom_daynight() +
  geom_point() +
  facet_wrap(vars(sensor))
# Usage with lines and color by sensor
ggplot(daynight_temperature, aes(datetime, temperature, color = sensor)) +
  geom_daynight() +
  geom_line()
# Custom day and night fill colors, custom sunrise and sunset times, and adjusted alpha
ggplot(daynight_temperature, aes(datetime, temperature, color = sensor)) +
  geom_daynight(
    day_fill = "yellow", night_fill = "blue",
    sunrise = 5, sunset = 20, alpha = 0.5
  ) +
  geom_line(linewidth = 1)