coord_x_date: Zoom in on plot regions using date ranges or date-time ranges

Description Usage Arguments Details See Also Examples

Description

Zoom in on plot regions using date ranges or date-time ranges

Usage

1
2
3

Arguments

xlim

Limits for the x axis, entered as character dates in "YYYY-MM-DD" format for date or "YYYY-MM-DD HH:MM:SS" for date-time.

ylim

Limits for the y axis, entered as values

expand

If TRUE, the default, adds a small expansion factor to the limits to ensure that data and axes don't overlap. If FALSE, limits are taken exactly from the data or xlim/ylim.

Details

From tidyquant The 'coord_' functions prevent loss of data during zooming, which is necessary when zooming in on plots that calculate 'stats' using data outside of the zoom range (e.g. when plotting moving averages with [geom_ma()]). Setting limits using 'scale_x_date' changes the underlying data which causes moving averages to fail.

'coord_x_date' is a wrapper for 'coord_cartesian' that enables quickly zooming in on plot regions using a date range.

'coord_x_datetime' is a wrapper for 'coord_cartesian' that enables quickly zooming in on plot regions using a date-time range.

See Also

[ggplot2::coord_cartesian()]

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Load libraries
library(tidyquant)

# coord_x_date
AAPL <- tq_get("AAPL")
AAPL %>%
    ggplot(aes(x = date, y = adjusted)) +
    geom_line() +                         # Plot stock price
    geom_ma(n = 50) +                 # Plot 50-day Moving Average
    geom_ma(n = 200, color = "red") + # Plot 200-day Moving Average
    coord_x_date(xlim = c(today() - weeks(12), today()),
               ylim = c(100, 130))        # Zoom in


# coord_x_datetime
time_index <- seq(from = as.POSIXct("2012-05-15 07:00"),
                  to = as.POSIXct("2012-05-17 18:00"),
                  by = "hour")
set.seed(1)
value <- rnorm(n = length(time_index))
hourly_data <- tibble(time.index = time_index,
                      value = value)
hourly_data %>%
    ggplot(aes(x = time.index, y = value)) +
    geom_point() +
    coord_x_datetime(xlim = c("2012-05-15 07:00:00", "2012-05-15 16:00:00"))

mikebesso/two.laws.quant.charts documentation built on May 18, 2019, 9:14 p.m.