> ## Documentation Index
> Fetch the complete documentation index at: https://cubed3-igor-cub-3820-document-chart-type-recommendation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Chart types

> Overview of all built-in chart types available in Cube workbooks.

Cube includes a library of built-in chart types covering the most common visualization patterns. Each type is designed for specific data shapes — choose the one that best fits your query structure and the question you're answering.

* [Bar](/docs/explore-analyze/charts/chart-types/bar)
* [Line](/docs/explore-analyze/charts/chart-types/line)
* [Area](/docs/explore-analyze/charts/chart-types/area)
* [Scatter](/docs/explore-analyze/charts/chart-types/scatter)
* [Pie & donut](/docs/explore-analyze/charts/chart-types/pie)
* [Heatmap](/docs/explore-analyze/charts/chart-types/heatmap)
* [Boxplot](/docs/explore-analyze/charts/chart-types/boxplot)
* [Table](/docs/explore-analyze/charts/chart-types/table)
* [KPI](/docs/explore-analyze/charts/chart-types/kpi)
* [Map](/docs/explore-analyze/charts/chart-types/map)
* [HTML](/docs/explore-analyze/charts/chart-types/html)

For configuration options that apply across chart types — axes, color, series settings, tooltips — see [Configure charts](/docs/explore-analyze/charts/configuration).

## Recommended chart type

When your query returns a result, Cube outlines the one chart type that best fits it and labels it
**Recommended**. It is a suggestion: every other available type stays selectable, and the outline
disappears once you pick a type yourself.

On a report that has no chart yet, a recommendation Cube is confident about is applied for you, and
the report names the rule it followed — for example, *Applied Line — a measure over time*. Anywhere
else the recommendation is only outlined, never applied.

### What Cube looks at

The recommendation reads the shape of your query and its result: how many measures, dimensions and
time dimensions you selected, how many distinct values each dimension has, how long the category
labels are, and how many rows came back. Nothing is sent anywhere and nothing is saved — the
suggestion lasts for the current session only.

Where a threshold is involved, it comes from
[Draco](https://ieeexplore.ieee.org/document/8440847) (Moritz et al., *Formalizing Visualization
Design Knowledge as Constraints*, IEEE VIS 2018), which encodes established visualization research
as rules: a category axis becomes crowded past 12 values, a color or stacking channel saturates
past 10 series, and no axis reads past 30 values.

Two numbers are Cube's own rather than Draco's, and are tuned by us: a mean label length of **16
characters** counts as long, and a result over **5,000 rows** counts as large.

### The conditions

Cube checks these in order and takes the first that matches.

| Recommendation     | When                                                                                                                            |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| **Map**            | The query contains latitude and longitude                                                                                       |
| **KPI**            | One measure, no dimensions, and a single row                                                                                    |
| **Line**           | A measure over a time dimension, optionally split by one category of up to 10 values                                            |
| **Scatter**        | Two or more measures with no time dimension — the shape for correlating them                                                    |
| **Stacked bar**    | One measure split by two categories, the first up to 12 values and the second up to 10                                          |
| **Heatmap**        | One measure split by two larger categories that fill enough of the grid to be worth drawing                                     |
| **Bar**            | One measure across a few categories with short labels                                                                           |
| **Horizontal bar** | The same, where the labels are long or the categories too many for a vertical axis                                              |
| **Table**          | The query has no measure, two time dimensions, three or more dimensions, a category past 30 values, or a result over 5,000 rows |

Pie is not recommended. Its shape — one measure across a few categories — is the same one Bar
answers, and a bar chart compares those values more accurately, so Cube recommends Bar and leaves
Pie to you. It remains available in the picker like any other chart type.

Table's conditions are disqualifiers rather than a last preference: a query that meets any of them
has no chart encoding that reads well, so the table is the honest answer. Maps are the exception —
a map has no category axis to crowd, so a large number of plotted places is normal rather than
unreadable.

### When nothing is recommended

Cube suppresses the recommendation rather than guessing. You will see no outline when:

* no rule matches the query cleanly;
* a value it needs is still unknown, such as the number of distinct values in a dimension;
* the result was truncated by a row limit, so the counts it would read are incomplete;
* the best fit is the chart type you already applied;
* you have already picked a type by hand in the picker you are looking at.

Automatic application on an empty report clears a higher bar than the outline does. It happens only
for Map, KPI, Line, Scatter and vertical Bar, only when no threshold sits within 20% of the observed
value — so a row either way would not change the answer — and never on a truncated result. Stacked
bar, heatmap and horizontal bar are offered but never applied for you: stacking asserts that the
parts compose the whole, which Cube cannot verify from a filtered result, and the others turn on a
judgment of Cube's own.
