Skip to contents

Generate interactive Funnel chart

Usage

funnel(
  data,
  keys,
  numerators,
  denominators,
  indicators = NULL,
  tooltips = NULL,
  labels = NULL,
  aggregations = NULL,
  title = NULL,
  canvas_settings = NULL,
  funnel_settings = NULL,
  misc_settings = NULL,
  outlier_settings = NULL,
  scatter_settings = NULL,
  line_settings = NULL,
  x_axis_settings = NULL,
  y_axis_settings = NULL,
  label_settings = NULL,
  summary_table_settings = NULL,
  tooltip_settings = NULL,
  width = NULL,
  height = NULL,
  elementId = NULL,
  return_objs = c("html_plot", "static_plot", "limits")
)

Arguments

data

A data frame containing the data for the chart.

keys

A vector or column name representing the categories of the chart.

numerators

A numeric vector or column name representing the numerators for each category.

denominators

A numeric vector or column name representing the denominators for each category.

indicators

Optional vector or list of vectors identifying indicators. Supplying indicators displays a multi-indicator sigma chart using the native Funnel visual. Each indicator is calculated against its comparison population. Factor indicators are ordered by their levels, and others by value.

tooltips

A vector or column name, or a list of them, representing additional tooltips for each category. Each is labelled by its name in the list, or else by the expression supplied. NULL for none. Limits include them with their R types, reduced within each key by aggregations$tooltips.

labels

A vector or column name representing the labels for each category. NULL for none.

aggregations

A list of aggregation function names for each field if multiple values are provided for each key. Valid options are:

  • "first": returns the first non-missing value

  • "last": returns the last non-missing value

  • "sum": returns the sum of values

  • "mean": returns the mean of values

  • "min": returns the minimum value

  • "max": returns the maximum value

  • "median": returns the median value

  • "count": returns the count of non-missing values

Defaults to "sum" for numerators and denominators, and "first" otherwise. Every aggregation ignores missing values; an all-missing group has a count of 0 and is otherwise missing. Numerators and denominators are aggregated independently.

title

Optional title to be added to the top of the chart. It can be a character string for the title text only, or a list with the following options:

  • text: Title text (default: NULL)

  • font_size: Font size of the title (default: "16px")

  • font_weight: Font weight of the title (default: "bold")

  • font_family: Font family of the title (default: "'Arial', sans-serif")

  • x: Horizontal (x) position of the title as a percentage (default: "50%")

  • y: Vertical (y) position of the title in pixels (default: 5)

  • text_anchor: Text anchor of the title (default: "middle")

  • dominant_baseline: Dominant baseline of the title (default: "hanging")

  • subtitle: Subtitle text, drawn below the title (default: NULL)

  • subtitle_font_size: Font size of the subtitle (default: "12px")

  • subtitle_font_weight: Font weight of the subtitle (default: "normal")

canvas_settings

Optional list of settings for the canvas, see funnel_default_settings('canvas') for valid options.

funnel_settings

Optional list of settings for the Funnel chart, see funnel_default_settings("funnel") for valid options.

misc_settings

Optional native MISC settings. group selects a value from keys; if omitted, the first group is shown. See funnel_default_settings("misc") for valid options.

outlier_settings

Optional list of settings for outliers, see funnel_default_settings('outliers') for valid options. Detection switches use the first valid outlier settings after sorting and aggregating keys for the whole chart, for both plots and limits.

scatter_settings

Optional list of settings for scatter points, see funnel_default_settings('scatter') for valid options.

line_settings

Optional list of settings for lines, see funnel_default_settings('lines') for valid options.

x_axis_settings

Optional list of settings for the x-axis, see funnel_default_settings('x_axis') for valid options.

y_axis_settings

Optional list of settings for the y-axis, see funnel_default_settings('y_axis') for valid options.

label_settings

Optional list of settings for labels, see funnel_default_settings('labels') for valid options.

summary_table_settings

Optional list of settings for the summary table, see funnel_default_settings('summary_table') for valid options. A table shown by show_table has no static plot. Indicators show the MISC chart instead of the table.

tooltip_settings

Optional list of settings for tooltips, see funnel_default_settings('tooltips') for valid options.

width

Optional width of the chart in pixels. If NULL (default), the chart will fill the width of its container.

height

Optional height of the chart in pixels. If NULL (default), the chart will fill the height of its container.

elementId

Optional HTML element ID for the chart.

return_objs

Character vector of object types to return. Valid values are:

  • "html_plot": Interactive htmlwidgets plot

  • "static_plot": Non-interactive SVG plot

  • "limits": Calculated control limits

  • "limit_lines": Control limits across the full range of denominators, for drawing the limit lines (not returned by default)

When summary_table_settings sets show_table without indicators, "static_plot" is omitted by default.

Value

An object of class controlchart containing the interactive plot, static plot, limits data frame, and a function to save the plot. Limits and limit lines include every group, with supplied indicator columns included by name. Multi-indicator limits also include direction-adjusted scores. Limits include the typed key, named after the keys expression and duplicated as key, and tooltip columns by name. Limit lines describe denominator curves and have no observation keys or tooltips. Empty input returns empty limits and limit lines, without plots.