> AI agents: this is one page from Mammoth Analytics documentation. The index of all pages as Markdown is https://mammoth.io/docs/llms.txt. Append `.md` to any docs URL, or send `Accept: text/markdown`, to get Markdown.

# Editing a chart

> Edit a Mammoth dashboard chart by hand: fields, Top N, multiple measures, combo axes, style options, annotations, captions and what readers can click.

Every chart on a Mammoth dashboard can be edited by hand, as well as through the AI chat. Click a chart in the dashboard editor and its controls open in a panel beside the canvas: fields, style options, annotations, a caption and what readers can do with it. Anyone who can edit the dashboard can change its charts.

Every change redraws the chart straight from your data. No AI is involved in the field and style controls.

## Open a chart's edit panel

1. Open the dashboard in the editor.
2. Click the chart on the canvas, or hover over it and click **Edit** in its toolbar.

The panel opens on the right, docked beside the live canvas, so the canvas is your preview. The panel's title is the chart's title, with the chart type under it. Edits show on the canvas as you make them.

The panel is one scrolling column. Its sections, top to bottom:

1. The chart type, with **Also works as** and **See more** to switch type (see [Switch a chart to another type](https://mammoth.io/docs/learn/dashboard/charts/#switch-a-chart-to-another-type))
2. **Multiple measures** (Bar and Bar (H) only)
3. **Measures** (charts that can mix bars, lines and areas)
4. **Title**
5. **Data**: the field pickers and **Create calculated dimension**
6. **Annotations**
7. Options for this chart type, under the headings **Data**, **Style**, **Labels**, **Axes** and **Annotations**
8. **Readers can**
9. **Add a caption**

Only the sections that apply to the chart type appear. The same controls appear in the studio when you first add a chart (except **Readers can**, which is only in the edit panel).

The **Ask AI** button in the panel header ("Ask AI about this") closes the panel and puts the cursor in the AI chat, with this chart selected. See [The dashboard editor](https://mammoth.io/docs/learn/dashboard/dashboard-editor/).



### Save or discard your changes

If you close the panel with changes, Mammoth asks **Save your changes?**: "Save the changes you made in this panel, or discard them and restore how things looked when you opened it."

| Button | What it does |
|---|---|
| **Keep editing** | Returns to the panel. |
| **Discard** | Puts the chart back the way it was when you opened the panel, including its caption. |
| **Save changes** | Keeps your edits. |

## Rename a chart with the Title field

Type in **Title** to rename the chart. A title you type stays when you later change the measure, the **By** field or the chart type. If you leave the automatic title, it updates to match the fields.

## Choose the chart's fields (Measure, By, Split by, Show)

The **Data** section points the chart at your columns. Each row is a dropdown of the dataset's fields. Only the rows the chart type uses appear.

| Field | What it does |
|---|---|
| **Measure** | The number to chart. **Count of records** counts rows. An empty measure reads **Choose a measure…**. |
| **X**, **Y** | Replace **Measure** on Scatter and Bubble charts. **And** is a second measure on charts that take two. |
| **By** | The category to break the measure down by. Pick a date field under **Over time** to turn the chart into a time axis, or a calculated dimension under **Calculated**. KPI, Big number, Icon stat, Gauge and Histogram have no **By**. |
| **Rows**, **Columns** | The two categories of a Heatmap, Sankey, Sunburst or Network. |
| **Split by** | A second category that splits each bar or area. Only on Stacked bar, 100% stacked, Stacked area and Marimekko. |
| **Aggregate** | How rows are rolled up: **Sum**, **Average**, **Minimum**, **Maximum**, **Count**, **Distinct** or **Median**. On charts with a **Measures** section, each measure has its own aggregation instead. |
| **Show** | How many categories to show: **All**, **Top 5**, **Top 8**, **Top 10**, **Top 15**, **Top 20** or **Custom…** (type any number up to 200). |

**Example:** to show revenue by region for the top 5 regions, set **Measure** to Revenue, **Aggregate** to **Sum**, **By** to Region and **Show** to **Top 5**.

Two options in the **Data** group below control order:

| Option | Choices | What it does |
|---|---|---|
| **Sort** | **High → low** (default), **Low → high**, **A → Z**, **Z → A** | The order of the categories. It also decides which rows a Top N keeps. |
| **Display as** | **By rank** (default), **A → Z**, **Z → A** | Shows the kept rows in another order. For example, the top 5 by revenue, displayed A to Z. |

Both are hidden when the chart's **By** is a date.

### Messages you might see

- "Choose a field for By to draw this chart." You can't add the chart until **By** is set.
- "Loading this dataset's fields…"
- "Couldn't load this dataset's fields. Reopen the panel to try again."
- "No measure resolved for this chart yet — try another type, or reload the dashboard."
- "Couldn't build a preview. Try a different chart or description."
- "No data matches the current filters."

## Show several measures as bars (Multiple measures)

On a **Bar** or **Bar (H)** chart, switch on **Multiple measures** ("Show several measures or filtered counts as separate bars."). Each measure becomes one bar, so the bars are the measures themselves and there's no **By**. Use it for charts like "how many records are flagged A, B or C". A chart that already has several measures opens with the switch on.

Each row in **Measures** has:

| Control | What it does |
|---|---|
| Measure | **Count of records** (the default for a new row) or any number field. |
| **Aggregation** | **Sum**, **Average**, **Minimum**, **Maximum**, **Count**, **Distinct** or **Median**. |
| **Move up**, **Move down** | Change the bar order. |
| **×** | Removes the measure (when there's more than one). |
| **Label** | The bar's name. |
| **Conditions** | Count or sum only the rows that match. Click **+ Add condition**, pick a field (**Choose a field**), an operator and a value. |

Condition operators:

| Operator | Value |
|---|---|
| **equals** | One **Value** |
| **is one of** | **Values (comma-separated)** |
| **is between** | **Min** and **Max** |

For a text field, sample values show as chips you can click to fill in. A condition with no field or no value is ignored until you complete it.

Click **+ Add measure** for another bar.

**Chart conditions**, below the measures, apply the same kind of condition to the whole chart. They combine with each measure's own conditions (a row must match both).

**Example:** to compare open, overdue and closed tickets, add three measures, each **Count of records**, labelled Open, Overdue and Closed, each with a condition on Status.

## Group numbers into ranges (calculated dimension)

A calculated dimension cuts a number column into named ranges, such as a "Spend band" of 0–100, 100–500 and 500+, so you can use it as a category in **By**.

1. In the **Data** section, under the field pickers, click **Create calculated dimension**. (It appears when the chart has a **By** field and the dataset has a number field.)
2. Fill in the dialog:

| Field | What it does |
|---|---|
| **Name** | The dimension's name, for example "Spend band". |
| **Source measure** | The number column to cut. |
| **Bands** | One row per range: a **Label**, a **Min** and a **Max**. **Add band** adds a row and **×** removes one. |
| **Uncovered rows** | With **Show as** ticked (the default), rows outside every band are grouped under a name, **Other** by default. Untick it and those rows are **Excluded**. |

3. Click **Create**. It stays disabled until there's a name, a source measure and a label on every band.

How bands work:

- Each band includes its **Min** and excludes its **Max**, so 100 falls in 100–500, not 0–100.
- Leave **Min** or **Max** empty for no lower or upper limit.
- Bands keep the order you entered them in.

The new dimension is saved to the dashboard, not just this chart. It appears in every chart's **By** list under **Calculated**. Readers can't open the rows or drill into a band. A calculated dimension can't be edited or removed from this panel after you create it, so check the bands before you click **Create**.

## Combine bars and lines on two axes (Measures)

On **Bar**, **Bar (H)**, **Line**, **Area**, **Grouped bar** and **Combo** charts, the **Measures** section lists every measure on the chart. Each one can be drawn as bars, a line or an area, and placed on its own axis. Use it to show revenue as bars and margin % as a line on one chart.

Each measure row has:

| Control | What it does |
|---|---|
| Colour swatch | **Set series color** for this measure. **×** does **Reset to auto color**. |
| Measure | The field. |
| **Draw as** | **Bar**, **Line** or **Area**. |
| **Aggregation** | **Sum**, **Average**, **Minimum**, **Maximum**, **Count**, **Distinct** or **Median**. |
| Axis | **Axis 1**, **Axis 2** and so on. Pick **+ New axis** to give the measure its own scale. A chart can have up to 3 axes. |
| **×** | Removes the measure (when there's more than one). |

**+ Add measure** adds the next unused number column, drawn as a **Line**, on an axis that matches its unit.

Good to know:

- A second measure on a second axis turns the chart into a **Combo**.
- On a chart with more than one axis, each reference line and event in **Annotations** asks "Which axis this value belongs to".

**Example:** to plot revenue against margin, set the first measure to Revenue drawn as **Bar** on **Axis 1**. Click **+ Add measure**, choose Margin %, set **Draw as** to **Line** and the axis to **+ New axis**.

## Options for every chart

These options appear on most chart types, in the **Data**, **Style**, **Labels**, **Axes** and **Annotations** groups. Each chart type shows the ones it can draw, and most have an **i** tooltip that explains them.

| Option | Group | Choices (default) | What it does |
|---|---|---|---|
| **Color** | Style | **Auto** (the dashboard theme) or a swatch | Overrides the chart colour. Part-to-whole and stacked charts show palettes instead of a single colour. |
| **Number format** | Style | **Prefix**, **Suffix**, **Decimals** (**Auto**, **0**, **1**, **2**), **Abbreviate** (on) | How numbers read. **Abbreviate** shows 1.2k instead of 1,200. |
| **Data labels** | Labels | **Smart** (default), **Show**, **Hide** | "Smart shows the value on each bar while the chart has room for it. Show always draws them, Hide never does — the value stays on hover either way." |
| **Y-axis range** | Axes | **Min**, **Max** (blank = fit to the data) | "Raising the minimum zooms in on small differences." |
| **Sort** | Data | **High → low** (default), **Low → high**, **A → Z**, **Z → A** | Category order, and which rows a Top N keeps. |
| **Display as** | Data | **By rank** (default), **A → Z**, **Z → A** | Display order of the kept rows. |
| **Reference line** | Annotations | **Value**, **Label** | "Draw a dashed line at a value — e.g. a target or average — with an optional label." |

If the options can't load, the panel shows "Couldn't load the settings for this chart." with **Try again**. A chart with nothing to adjust shows "No adjustable settings for this chart."

## Options for each chart type

Each chart type adds its own options. "Common options" refers to the table above.

| Chart | Common options | Its own options (default) |
|---|---|---|
| Bar, Bar (H) | Color, Number format, Data labels, Y-axis range, Sort, Display as, Reference line | **Corner radius** 0–12 (3); **Annotation** (a text callout on the highlighted point); **Bar spacing** 0–60% (26%) |
| Ranking (dots) | Color, Number format, Sort, Display as, Y-axis range | None |
| Pareto | Color, Number format, Data labels, Y-axis range | **80% line** (off); **Bar spacing**; **Corner radius** |
| Diverging | Number format, Sort | **Positive color**, **Negative color**; **Bar spacing**; **Corner radius** |
| Waterfall | Number format, Y-axis range | **Positive color**, **Negative color**; **Bar spacing**; **Corner radius** |
| Line | Color, Number format, Y-axis range, Reference line, Data labels, Sort, Display as | **Smooth curve** (on); **Fill under line** (on); **Show points** (off); **Annotation** |
| Area | Color, Number format, Y-axis range, Reference line, Data labels, Sort, Display as | **Smooth curve** (on) |
| Stacked area | Palette, Number format | None |
| Combo | Number format, Y-axis range | None (set measures in **Measures**) |
| Sparkline | Color, Number format | **End label** (on) |
| Bump | Number format | **Rank labels** (on) |
| Slope | Number format | **Left label**, **Right label** |
| Donut | Palette, Number format, Sort, Display as | **Ring thickness** 15–60% (32%); **Slice gap** 0–10 (2); **Slice corners** 0–8 (0); **Slice labels** **Off** / **Percent** / **Value** (Off); **Center total** (on); **Center label** |
| Stacked bar | Palette, Number format, Sort, Data labels | **Normalize to 100%** (off); **Corner radius**; **Bar spacing** |
| 100% stacked | Palette, Number format, Sort | **Corner radius**; **Bar spacing** |
| Grouped bar | Number format, Y-axis range, Sort, Data labels, Reference line | **Corner radius**; **Bar spacing** |
| Marimekko, Sunburst, Sankey | Palette, Number format | None |
| Composition | Palette, Number format, Data labels, Sort, Display as | None |
| Treemap | Palette, Number format, Sort, Display as | **Tile gap** 0–6 (1); **Corner radius** 0–16 (5, outer corners only) |
| Funnel | Palette, Number format | **Stage height** 30–70 px (46); **Corner radius** |
| Radar | Number format | **Max value** |
| Heatmap | Number format, Data labels | **Color scale** (darker cells are higher values) |
| Dumbbell | Number format | None |
| Scatter | Color, Number format, Y-axis range | **Point size** 2–12 (6); **X-axis title**; **Y-axis title**; **Trend line** (off; a best-fit line) |
| Bubble | Palette, Number format, Y-axis range | **X-axis title**; **Y-axis title** |
| Histogram | Number format, Y-axis range | **Bins** (blank = automatic) |
| Box plot | Number format, Y-axis range | None |
| Beeswarm | Number format, Y-axis range | **Median tick** (on) |
| Gauge | Color, Number format | **Max value**; **Caption**; **Threshold zones** (off; red, amber and green bands with a needle) |
| Bullet | Color, Number format | **Max value**; **Target**; **Label** |
| KPI | Color, Number format | **Label** |
| Big number | Color, Number format | **Label**; **Change caption** (for example "vs Q1"); **Good direction** **Up is good** / **Down is good** (Up is good) |
| Icon stat | Color, Number format | **Icon** (**Auto** or a named icon); **Unit word**; **Label**; **Change caption**; **Good direction** |
| Pictograph | Color, Number format, Sort, Display as | **Icon**; **Unit word** (for example "people"); **Each icon is** (blank = a round amount that keeps each row to 20 icons or fewer) |
| Candlestick | Number format, Y-axis range | None |
| Calendar heatmap | Number format | **Cell size** 8–20 (14); **Color scale** |
| Gantt | Palette | **Corner radius** |
| Network | Palette | None |
| Map | Number format | **Projection**; **Color scale**; **Binning** (see [Map chart](https://mammoth.io/docs/learn/dashboard/charts/#map-chart)) |

Tables have their own **Edit table** panel. See [Tables, KPIs, insights and text](https://mammoth.io/docs/learn/dashboard/tables-kpis-insights-text/).

## Add reference lines and event markers (Annotations)

The **Annotations** section pins a labelled line at a value (a target or an average) or a labelled marker on one point of the x-axis (a launch, a price change). It's on **Bar**, **Bar (H)**, **Line**, **Area**, **Grouped bar**, **Combo**, **Stacked bar** and **Stacked area** charts.

| Button | Adds | Fields |
|---|---|---|
| **+ Reference line** | A **Reference** row: a horizontal line | **Value** (a number) and **Label** |
| **+ Event** | An **Event** row: a marker on one x-axis point | A point (**Pick a date**) and a **Label** |

- The event's point list holds the labels on the chart's own x-axis, so an event can only sit on a point the chart shows. **+ Event** is disabled when the chart has no x-axis labels.
- Every row has a **Color**: **Default**, **Brand**, **Positive**, **Negative**, **Warning** or **Info**. The colours follow the dashboard theme.
- **×** removes a row.
- On a chart with more than one axis, each row also asks "Which axis this value belongs to".

The line and label redraw as you type.

**Example:** to mark a sales target of 50,000, click **+ Reference line**, set **Value** to 50000, **Label** to "Target" and **Color** to **Positive**.



## Add a caption under a chart

A caption is one or two lines of text under a single chart, saying what it leaves out or where its numbers come from.

1. Near the bottom of the panel, tick **Add a caption**.
2. Pick the kind: **Caveat** ("A limit on what the numbers cover", the default) or **Source** ("Where the data came from").
3. Type the text (placeholder "Excludes Head Office…"). **Bold**, **Italic** and **Link** buttons format it: "One or two lines, under the chart. **bold**, _italic_ and [links](url) are supported."

The **{ }** button ("Insert something the board fills in") adds a value the dashboard keeps current. It appears when the dashboard has these facts:

| Value | What it shows |
|---|---|
| `{updated}` | When this board was last built |
| `{rows}` | How many rows it covers |
| `{range}` | The period the data covers |
| `{dataset}` | The dataset this board reads |
| `{filters}` | What the reader has filtered to |

Untick **Add a caption** to delete the caption. For notes about the whole dashboard rather than one chart, use a text block (see [Tables, KPIs, insights and text](https://mammoth.io/docs/learn/dashboard/tables-kpis-insights-text/)).

## When you ask for a forecast

Charts show what's in your data. They don't project it forward. If you describe a forecast or projection in the **Add a chart** describe box ("project next year's revenue"), Mammoth doesn't draw an invented line. The studio explains why in a sentence, previews the closest chart your data can show, and offers a button that adds it, such as "Add a Bar instead". You can add that chart, or describe another one.

## Choose what readers can do with a chart (Readers can)

The **Readers can** section in the edit panel controls what viewers of the published dashboard can do when they click this chart. It appears on charts readers can click: Bar, Bar (H), Donut, Stacked bar, Grouped bar, Treemap, Scatter, Bubble, and Line charts over dates. "Readers never see more than this. Turn these off to make the chart view-only."

| Switch | What readers get | Who can use it |
|---|---|---|
| **Filter the board** | "Click a bar to filter every chart on the page" ("Click a mark…" on other chart types). On by default. | Anyone who can view the dashboard |
| **See the rows** | A list of the records behind the bar or slice they click. "Signed-in viewers only. Row security applies." | Signed-in viewers only |
| **Drill down** | The chart redraws one level down, such as from region to country, or from year to quarter. | Anyone who can view the dashboard |

### Filter the board

**Filter the board** is only offered when the chart's **By** field is also one of the dashboard's filters. Otherwise the section says so, for example "Add Region as a board filter to let readers filter by it." See [Dashboard filters](https://mammoth.io/docs/learn/dashboard/dashboard-filters/).

### See the rows and Columns readers see

When **See the rows** is on, the section shows which columns readers get: "Rows show the chart’s fields and up to 4 key columns from your data", sorted by the chart's measure, largest first. To choose them yourself, click **Edit** to open **Columns readers see**, tick the columns, and click **Done**. **Use the suggested columns** goes back to the default.

- Readers see at most 12 columns, counting the chart's own fields.
- Protected columns, and columns that look like contact details (an email, phone number, postcode, tracking number or person's name), are never offered or shown.
- The viewer's row-level security applies, so each reader sees only the rows they're allowed to.
- Rows aren't available on public links, in embeds, or to anyone who isn't signed in.
- In the editor, you can preview the rows whatever the switch says.

### Drill down

There's one drill path per dashboard, so you don't pick it per chart. The section shows the path, with "(found in your data)" after it when it follows a hierarchy in your columns, or the date path (year → quarter → month → week → day). Drilling works on public links and embeds too, because it only shows totals, and row-level security still applies.

### What readers see when they click a chart

On the published dashboard, clicking a bar or slice opens a short menu with the actions you switched on:

- **Filter the board to** the value, for example **Filter the board to Europe** ("Every chart on this page changes"). If the filter only reaches this page, it reads **Filter this page to Europe**.
- **See the rows behind** the value, for example **See the rows behind Europe** ("Opens a list next to the board"). A side panel lists up to 500 rows, and says "Showing the first 500 of" the total when there are more. For a plain sum, it confirms the rows add up to the same number as the bar.
- **Drill into** the next level, for example **Drill into countries in Europe** ("Only this chart changes"). A breadcrumb such as "All regions › Europe" leads back up.

Messages readers might see:

- "Rows are turned off for this chart." or "Drilling is turned off for this chart."
- "Rows aren't available for this part of the chart." (the "Other" bar and calculated bands)
- "There is nothing below this level." or "You can't drill into this part of the chart."
- "This board is still updating."

For the full viewer experience, see [What viewers see](https://mammoth.io/docs/learn/dashboard/what-viewers-see/).

## Related

- [Dashboard charts](https://mammoth.io/docs/learn/dashboard/charts/): the chart picker and every chart type
- [Custom charts](https://mammoth.io/docs/learn/dashboard/custom-charts/)
- [Dashboard filters](https://mammoth.io/docs/learn/dashboard/dashboard-filters/)
- [Share a dashboard](https://mammoth.io/docs/learn/dashboard/share-dashboard/)

---
Source: https://mammoth.io/docs/learn/dashboard/editing-a-chart.md · Updated: 2026-11-03
