Example gallery

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 4.5
)

Database Setup

The examples on this page will use an in-memory DuckDB database loaded with data. Multiple datasets are used and the page is organized by the dataset being analyzed.

library(rsgl)
library(duckdb)

con <- dbConnect(duckdb())

Cars

Setup

dbWriteTable(con, "cars", cars)
dbGetQuery(con, "
  select *
  from cars
  limit 5
")

Example Plots

dbGetPlot(con, "
  visualize
    horsepower as x,
    miles_per_gallon as y
  from cars
  using points
")

dbGetPlot(con, "
  visualize
    horsepower as x,
    miles_per_gallon as y
  from cars
  using (
    points
    layer
    regression line
  )
  facet by
    origin
  scale by
    log(x),
    log(y)
")

dbGetPlot(con, "
  visualize
    bin(miles_per_gallon) as x,
    count(*) as y
  from cars
  group by
    bin(miles_per_gallon)
  using bars
")

dbGetPlot(con, "
  visualize
    origin as x,
    miles_per_gallon as y
  from cars
  using boxes
  scale by
    log(y)
")

Trees

Setup

dbWriteTable(con, "trees", trees)
dbGetQuery(con, "
  select *
  from trees
  limit 5
")

Example Plots

dbGetPlot(con, "
  visualize
    age as x,
    circumference as y
  from trees
  collect by
    tree_id
  using lines
")

dbGetPlot(con, "
  visualize
    age as theta,
    radius as r
  from (
    select
      *,
      circumference/(2*pi()) as radius
    from trees
  )
  collect by
    tree_id
  using lines
")


Try the rsgl package in your browser

Any scripts or data that you put into this service are public.

rsgl documentation built on June 9, 2026, 1:07 a.m.