---
title: Charts for AI agents
description: Visualization views for Insights query results and the chart_config fields each view accepts.
url: https://docs.honeybadger.io/resources/llms/instructions/charts/
---

This page is written for AI agents

It is generated from the Honeybadger codebase and published as part of our [instructions for AI agents](https://docs.honeybadger.io/resources/llms/instructions/). Agents and tools should fetch the raw version at [`/resources/llms/instructions/charts.txt`](https://docs.honeybadger.io/resources/llms/instructions/charts.txt); the machine-readable catalog is at [`/resources/llms/instructions/index.json`](https://docs.honeybadger.io/resources/llms/instructions/index.json). For the human documentation on this topic, see [the guides](https://docs.honeybadger.io/guides/insights/).

Each visualization view accepts an optional `chart_config` object — the key is named `chart_config` for every view, including views that aren’t strictly charts (`table`, `billboard`). Keys must match the schema for the chosen view below. Values reference the *output aliases* produced by the query — an aggregate aliased `count` is referenced as `"count"`, not `count()`.

How the fields are packaged depends on the surface: dashboard widgets nest them in an object, query URLs flatten them into parameters. See the dashboards and queries instructions respectively — this reference only defines the fields themselves.

## table

Raw result rows and columns. No config.

## billboard

Big-number stat tiles: one tile per result row (or one per result field when `groupType` is `fields`).

* `titleField`: string — Alias shown as the tile title
* `valueField`: string — Alias shown as the big number; required when `groupType` is `events`
* `titleURLField`: string — Alias containing a URL; makes the tile title a link
* `subtitleField`: string — Alias shown below the value
* `statusField`: string — Alias whose value drives the tile’s status indicator
* `groupType`: string (fields|events) — `events` (default): one tile per result row using `valueField`; `fields`: one tile per result field

## bar

Bar chart of a value per category.

* `categoryField`: string, REQUIRED — Alias for the category axis; one bar per distinct value
* `valueField`: string, REQUIRED — Alias for bar height
* `valueFieldUnit`: string — Unit used to format values: `percent`, `microseconds`, or `milliseconds`
* `labelField`: string — Alias rendered as a label on each bar
* `groupType`: string (fields|events) — `events` (default): series come from `groupField`; `fields`: every result field except `categoryField` becomes its own series
* `groupField`: string — Alias whose distinct values split bars into series (with `groupType` `events`)
* `horizontal`: boolean — Render bars horizontally
* `stacked`: boolean — Stack series instead of grouping side by side
* `groups`: object — Per-series display options keyed by series name, e.g. `{"web": {"color": "#4A90D9"}}`. Advanced — usually omit

## line

One or more series plotted over an x axis, usually time.

* `xField`: string — Alias for the x axis, typically a time bin such as `bin(1h)`
* `yField`: string — Alias plotted as the series value; required when `groupType` is `events`
* `zField`: string — Alias whose distinct values split results into one series each
* `colorField`: string — Alias whose values supply explicit series colors
* `xFieldUnit`: string — Unit used to format x values: `percent`, `microseconds`, or `milliseconds`
* `yFieldUnit`: string — Unit used to format y values: `percent`, `microseconds`, or `milliseconds`
* `groupType`: string (fields|events) — `events` (default): one series from `yField`, split by `zField` if set; `fields`: every result field except `xField` becomes its own series
* `yAxisLabel`: string — Left y-axis label (accepted but not currently applied by the renderer)
* `yAxisMin`: number — Left y-axis minimum (accepted but not currently applied by the renderer)
* `yAxisMax`: number — Left y-axis maximum (accepted but not currently applied by the renderer)
* `rightYAxisFormat`: string — Right y-axis format (accepted but not currently applied by the renderer)
* `rightYAxisLabel`: string — Right y-axis label (accepted but not currently applied by the renderer)
* `rightYAxisMin`: number — Right y-axis minimum (accepted but not currently applied by the renderer)
* `rightYAxisMax`: number — Right y-axis maximum (accepted but not currently applied by the renderer)
* `groups`: object — Per-series display options keyed by series name, e.g. `{"web": {"color": "#4A90D9"}}`; entries may also set `axis` (`left`|`right`) to plot a series on the right y axis. Advanced — usually omit

## area

Like line, with the area under each series filled; series can be stacked.

* `xField`: string — Alias for the x axis, typically a time bin such as `bin(1h)`
* `yField`: string — Alias plotted as the series value; required when `groupType` is `events`
* `zField`: string — Alias whose distinct values split results into one series each
* `groupType`: string (fields|events) — `events` (default): one series from `yField`, split by `zField` if set; `fields`: every result field except `xField` becomes its own series
* `stacked`: boolean — Stack series instead of overlaying them
* `groups`: object — Per-series display options keyed by series name, e.g. `{"web": {"color": "#4A90D9"}}`. Advanced — usually omit

## histogram

Distribution of values across buckets.

* `xField`: string, REQUIRED — Alias for the x axis
* `yField`: string, REQUIRED — Alias for the y axis
* `zField`: string — Alias whose distinct values split results into one series each
* `xFieldUnit`: string — Unit used to format x values: `percent`, `microseconds`, or `milliseconds`
* `yFieldUnit`: string — Unit used to format y values: `percent`, `microseconds`, or `milliseconds`
* `groups`: object — Per-series display options keyed by series name, e.g. `{"web": {"color": "#4A90D9"}}`. Advanced — usually omit

## scatter

Individual points plotted on two axes.

* `xField`: string, REQUIRED — Alias for the x axis
* `yField`: string, REQUIRED — Alias for the y axis
* `groupField`: string — Alias whose distinct values color the points
* `scaleField`: string — Alias that scales point size
* `groups`: object — Per-series display options keyed by series name, e.g. `{"web": {"color": "#4A90D9"}}`. Advanced — usually omit

## heatmap

Grid of cells colored by intensity. The query must sort by the x and y fields (`| sort x, y`) to render correctly.

* `xField`: string, REQUIRED — Alias for the x axis, typically a time bin such as `bin(1h)`
* `yField`: string, REQUIRED — Alias for the y axis
* `zField`: string, REQUIRED — Alias for cell value/intensity
* `yFieldUnit`: string — Unit used to format y values: `percent`, `microseconds`, or `milliseconds`
* `steps`: integer, minimum 1 — Number of color steps (default 5)
* `groups`: object — Per-series display options keyed by series name, e.g. `{"web": {"color": "#4A90D9"}}`. Advanced — usually omit

## pie

Proportional slices; one slice per result row.

* `nameField`: string, REQUIRED — Alias for slice labels
* `valueField`: string, REQUIRED — Alias for slice sizes
* `groups`: object — Per-slice display options keyed by slice name, e.g. `{"web": {"color": "#4A90D9"}}`. Advanced — usually omit

---

## Try Honeybadger for FREE

Intelligent logging, error tracking, and Just Enough APM™ in one dev-friendly platform. Find and fix problems before users notice.

[Start free trial](https://app.honeybadger.io/users/sign_up)

[See plans and pricing](https://www.honeybadger.io/plans/)
