Line Chart

Author

Francisco Zambrano

Published

July 1, 2023

Installation

Development version from GitHub:

GitHub: https://github.com/zpio/ggexplorer

Show/Hide code
remotes::install_github("zpio/ggexplorer")
Show/Hide code
library(ggexplorer)
library(dplyr)

Examples

Economics dataset

Show/Hide code
economics <- ggplot2::economics
economics

Basic Chart

Show/Hide code
line_chart(
  data = economics, 
  x = date, 
  y = psavert
)

Line Color

Show/Hide code
line_chart(
  data = economics, 
  x = date, 
  y = psavert,
  color = "purple"
)

Hide Label

Show/Hide code
line_chart(
  data = economics, 
  x = date, 
  y = psavert,
  show_label = FALSE
)

Line width

Show/Hide code
line_chart(
  data = economics, 
  x = date, 
  y = psavert,
  show_label = FALSE,
  linewidth = 0.5
)

Label Variable

Show/Hide code
economics2 <- economics %>% 
    mutate(label = ifelse(unemploy == max(unemploy), "15.3k in October 2009", NA))
economics2
Show/Hide code
line_chart(
  data = economics2, 
  x = date, 
  y = unemploy,
  label_var = label,
  label_size = 3.5,
  label_color = "gray20",
  label_hjust = 1.15
) +
  ggplot2::annotate(
    geom ="curve", x = as.Date("2003-01-01"), y = 14500, 
    xend = as.Date("2009-01-01"), yend = 15300, 
    curvature=0.5, arrow = ggplot2::arrow(length = ggplot2::unit(2, "mm"))
 )

Color by

Show/Hide code
economics_long <- 
  dplyr::filter(
    ggplot2::economics_long, 
    variable %in% c("uempmed", "unemploy")
  )

economics_long
Show/Hide code
line_chart(
  data = economics_long, 
  x = date, 
  y = value01, 
  color_var = variable
)

Legend Position

Show/Hide code
line_chart(
  data = economics_long, 
  x = date, 
  y = value01, 
  color_var = variable,
  show_label = FALSE,
  legend_position = "right"
)

Highlight

Show/Hide code
line_chart(
  data = economics_long, 
  x = date, 
  y = value01, 
  color_var = variable,
  highlight = "unemploy"
)

Facet

Show/Hide code
economics_long2 <- 
  dplyr::filter(
    ggplot2::economics_long, 
    variable %in% c("psavert","uempmed","unemploy")
  )
Show/Hide code
line_chart(
  data = economics_long2, 
  x = date, 
  y = value01, 
  color_var = variable,
  facet_var = variable
)

Ncol

Show/Hide code
line_chart(
  data = economics_long2,
  x = date,
  y = value01,
  color_var = variable,
  facet_var = variable, 
  ncol = 1,
  show_label = FALSE
)

Scales

Show/Hide code
line_chart(
  data = economics_long2,
  x = date,
  y = value01,
  color_var = variable,
  facet_var = variable, 
  ncol = 2,
  scales = "fixed"
)

Color Scales

Show/Hide code
line_chart(
  data = economics_long2,
  x = date,
  y = value01,
  color_var = variable,
  facet_var = variable
) +
  ggplot2::scale_color_viridis_d()

Interactive

Show/Hide code
line_chart(
  data = economics_long2, 
  x = date,
  y = value01,
  color_var = variable,
  facet_var = variable, 
  compare = TRUE,
  interactive = TRUE,
  linewidth = 0.5
)

Babynames dataset

Show/Hide code
data <- babynames::babynames %>% 
  filter(name %in% c("Mary","Emma", "Ida", "Ashley", "Amanda", "Jessica","Patricia", "Linda", "Deborah",   "Dorothy", "Betty", "Helen")) %>%
  filter(sex=="F")

data
Show/Hide code
line_chart(
  data = data, 
  x = year, 
  y = n, 
  color_var = name,
  title = 'Evolution of baby names'
)

Overlap

Show/Hide code
line_chart(
  data = data, 
  x = year, 
  y = n, 
  color_var = name,
  title = 'Evolution of baby names',
  check_overlap = TRUE
)

Show/Hide code
line_chart(
  data = data, 
  x = year, 
  y = n, 
  color_var = name,
  show_label = F,
  legend_position = "right",
  title = 'Evolution of baby names'
)

Show/Hide code
line_chart(
  data = data, 
  x = year, 
  y = n, 
  color_var = name, 
  highlight = c("Amanda", "Mary"),
  show_label = F,
  legend_position = "right",
  title = 'Evolution of baby names'
)

Show/Hide code
line_chart(
  data = data, 
  x = year, 
  y = n, 
  color_var = name, 
  facet_var = name, 
  ncol = 4, 
  label_vjust = -0.3,
  label_hjust = 0.3,
  title = 'Evolution of baby names'
)

Show/Hide code
line_chart(
  data = data, 
  x = year, 
  y = n, 
  color_var = name, 
  facet_var = name, 
  ncol = 4, 
  scales = "fixed", 
  compare = TRUE,
  label_vjust = -0.5,
  label_hjust = 0.5,
  title = 'Evolution of baby names'
)

Show/Hide code
line_chart(
  data = data, 
  x = year, 
  y = n, 
  color_var = name, 
  facet_var = name, 
  ncol = 4, 
  scales = "fixed", 
  compare = TRUE,
  show_label = FALSE,
  title = 'Evolution of baby names',
  interactive = TRUE,
  linewidth = 0.5
)