gline: Line chart

View source: R/zzz-r4vn-graphs.R View source: R/graphs.R

glineR Documentation

Line chart

Description

Draws an ordered trend for one numeric outcome, optionally with separate lines by group.

Usage

gline(
  data = NULL, x, y = NULL, vars = NULL, by = NULL,
  stat = c("identity", "mean", "median"), points = TRUE, line_width = 2,
  line_type = 1, sort = TRUE, pch = 16, point_size = 0.9, xlab = NULL,
  ylab = NULL, xtitle = NULL, ytitle = NULL, xbreaks = NULL, ybreaks = NULL,
  title = NULL, subtitle = NULL, note = NULL, color = NULL,
  palette = "default", alpha = 1, legend = TRUE, legend_position = "topright",
  xline = NULL, yline = NULL, ref_color = "gray40", ref_lty = 2, ref_lwd = 1,
  theme = "journal", size = 11, combine = FALSE, ncol = NULL, file = NULL,
  width = 7, height = 5, dpi = 300, show = TRUE, bg = "white", vline = NULL,
  hline = NULL
)

Arguments

data

A data frame. It may be omitted when an active R4VN data frame exists.

x

Categorical variable on the horizontal axis. Supply an unquoted name or a character name.

y

Optional numeric variable. When omitted, bars show counts or percentages. When supplied, bars show a mean or median.

vars

Optional vars(...) selector used to request several variables in one call.

by

Optional grouping variable or hierarchical vars(...) specification.

stat

"identity", "mean", or "median". Mean or median collapses repeated x values within each group.

points

Show points along each line.

line_width, line_type

Width and line type of connecting lines.

sort

Sort observations by x within each line.

pch

Point symbol.

point_size

Point-size multiplier.

xlab

Optional category labels. Use an unnamed vector in displayed order or a named vector such as c(M = "Male", F = "Female").

ylab

Optional y-axis tick labels.

xtitle, ytitle

Axis titles. Variable names or variable labels are used automatically when possible.

xbreaks, ybreaks

Numeric tick positions used with xlab and ylab.

title, subtitle, note

Main title, subtitle, and note.

color

A color name or vector of colors. When NULL, palette is used.

palette

One of "default", "journal", "blue", "green", "warm", "gray", or "colourblind"; alternatively, a color vector.

alpha

Color opacity from 0 to 1.

legend

Show the legend when by is supplied.

legend_position

Base-R legend position, for example "topright" or "topleft".

xline, yline

Optional numeric reference lines on the x and y axes. Thus xline draws vertical lines and yline draws horizontal lines.

ref_color, ref_lty, ref_lwd

Color, line type, and width for reference lines; vectors are recycled for multiple lines.

theme

Graph theme: "journal", "clean", "minimal", or "classic".

size

Base font size.

combine

When several graphs are produced, draw them as labelled panels in one figure.

ncol

Optional number of columns in a combined figure.

file

Optional output file ending in png, jpg, tiff, pdf, or svg.

width, height

Output width and height in inches.

dpi

Resolution for raster output.

show

Draw the graph in the current graphics device.

bg

Background color for exported files.

vline, hline

Deprecated aliases for xline and yline.

Details

Draws one x variable against one or several y variables with optional hierarchical grouping.

Value

An object of class r4vn_graph; its data component contains the plotted or aggregated values.

Examples

d <- data.frame(
  year = rep(2022:2024, 2),
  rate = c(12, 15, 18, 10, 13, 17),
  sex = rep(c("Male", "Female"), each = 3)
)
gline(d, x = year, y = rate)
gline(d, x = year, y = rate, by = sex, points = TRUE)

# Extended usage examples

d <- data.frame(year = rep(2022:2024, 2),
                rate = c(12, 15, 18, 10, 13, 17),
                sex = rep(c("Male", "Female"), each = 3))
gline(d, x = year, y = rate, show = FALSE)
gline(d, x = year, y = rate, by = sex, points = TRUE, show = FALSE)

# Collapse repeated x values to means or medians
d2 <- rbind(d, transform(d, rate = rate + 2))
gline(d2, x = year, y = rate, by = sex, stat = "mean", show = FALSE)


R4VN documentation built on Sept. 30, 2026, 5:13 p.m.