v_area: Create an Area Chart

View source: R/layers.R

v_areaR Documentation

Create an Area Chart

Description

Create an Area Chart

Usage

v_area(
  vc,
  mapping = NULL,
  data = NULL,
  name = NULL,
  stack = FALSE,
  area = list(style = list(curveType = "linear", fill = NULL, fillOpacity = NULL)),
  point = list(visible = FALSE),
  line = list(visible = FALSE),
  ...,
  serie_id = NULL,
  data_id = NULL
)

Arguments

vc

A chart initialized with vchart().

mapping

Default list of aesthetic mappings to use for chart.

data

Default dataset to use for chart. If not already a data.frame, it will be coerced to with as.data.frame.

name

Name for the serie, only used for single serie (no color/fill aesthetic supplied).

stack

Whether to stack the data or not (if fill aesthetic is provided).

area

Area's options, such as curve interpolation type, see online documentation.

point

Options for showing points on lines or not.

line

Options for showing lines or not.

...

Additional parameters for the serie.

data_id, serie_id

ID for the data/serie, can be used to further customize the chart with v_specs().

Value

A vchart() htmlwidget object.

Examples


library(vchartr)

# Basic Area Chart
vchart(eco2mix) %>%
  v_area(aes(date, solar))

# Two areas
vchart(eco2mix, aes(date)) %>%
  v_area(aes(y = wind)) %>%
  v_area(aes(y = solar))

# Line chart with discrete x axis
vchart(data.frame(month = month.abb, value = sample(1:50, 12))) %>%
  v_area(aes(month, value))

# Fill color
vchart(data.frame(month = month.abb, value = sample(1:50, 12))) %>%
  v_area(
    aes(month, value),
    area = list(
      style = list(fill = "firebrick", fill_opacity = 0.9)
    )
  )

# Smooth Area Chart
vchart(data.frame(month = month.abb, value = sample(1:50, 12))) %>%
  v_area(
    aes(month, value),
    area =  list(
      style = list(curveType = "monotone")
    )
  )

# Step Area Chart
vchart(data.frame(month = month.abb, value = sample(1:50, 12))) %>%
  v_area(
    aes(month, value),
    area = list(
      style = list(curveType = "stepAfter")
    )
  )

# Multiple areas
vchart(eco2mix_long) %>%
  v_area(aes(date, production, fill = source))

vchart(eco2mix_long) %>%
  v_area(
    aes(date, production, fill = source),
    stack = TRUE,
    area = list(
      style = list(fillOpacity = 1)
    )
  )


# Range area chart
vchart(temperatures, aes(date)) %>%
  v_area(aes(ymin = low, ymax = high)) %>%
  v_line(aes(y = average))

within(temperatures, {difference = `2024` - average}) %>%
  vchart(aes(date)) %>%
  v_area(
    aes(ymin = average, ymax = `2024`, difference = difference),
    area = list(
      style = list(
        fill = JS(
          "data => { return data.difference > 0 ? '#F68180' : '#2F64FF' ; }"
        ),
        fillOpacity = 1
      )
    )
  )

vchartr documentation built on April 12, 2025, 1:51 a.m.