# Chart types > The chart types Flax supports and when to reach for each — bar variants, line, area, pie, waterfall, pivot, box plot, and choropleth maps. *[View this page in the Flax docs](https://flax-analytics.com/docs/visualizations/chart-types)* Flax supports one grammar and one rendering engine across every chart type, so switching types keeps your role assignments where they make sense. This page lists the supported types and when to use each. ## Choosing a type | Type | Use it when you want to… | | --- | --- | | **Bar** | Compare a measure across categories. Multiple measures (or a "Break down by" dimension) produce grouped bars. | | **Stacked bar** | Show a total broken into parts across categories. | | **100% stacked bar** | Compare *composition* — each bar's parts as a share of 100%. | | **Line** | Show a trend over a continuous or time axis. | | **Area** | A line where the filled area emphasizes magnitude or cumulative composition. | | **Combo** | Mix bars and a line on a secondary axis (e.g. revenue bars + margin % line). | | **Pie / Donut** | Show part-to-whole for a small number of categories. | | **Waterfall** | Bridge a start value to an end value through signed steps (a P&L bridge). | | **Funnel** | Show drop-off across ordered stages. | | **Scatter** | Show the relationship between two measures. | | **Heatmap** | Show a measure across two categorical axes as color intensity. | | **Pivot table** | Cross-tabulate row and column dimensions with measures at the intersections, with correct subtotals. | | **KPI** | Show a single headline number. | | **Table** | Show the raw result rows. | | **Gauge** | Show a single value against a min/max range. | | **Box plot** | Show the distribution (five-number summary) per category. | | **Choropleth map** | Shade geographic regions by a measure. | ## Bar variants All bar variants share a **Horizontal** toggle and a **"Break down by"** dimension selector. Grouped bars arise automatically when you assign multiple value measures or a breakdown dimension. Stacked and 100%-stacked are explicit types in the picker so they are discoverable, but a chart saved with the older stacked/normalize flags still renders. ## Waterfall Waterfall bridges a starting value through signed steps to a total. It runs in two modes: **breakdown** (start → ± steps → total) and **cumulative** (a running total). Decreases step downward correctly and the bridge can cross below zero, so real P&L bridges with losses render faithfully. Steps are colored up / down / total and labels are signed; a cumulative overlay line is available. ## Pivot table A pivot cross-tabulates `rows` and `columns` dimensions with `measures` at each intersection. Subtotals and grand totals are computed **in the warehouse** (via `GROUP BY CUBE`), so they are correct even for non-additive measures like count-distinct or median. You can toggle row totals and column totals independently and sort row/column keys ascending or descending. ## Box plot A box plot draws the five-number summary — minimum, first quartile, median, third quartile, maximum — per category on the `x` axis. Supply each summary as its own measure column (for example `min`, `percentile(0.25)`, `median`, `percentile(0.75)`, `max`). The chart draws only once all five roles resolve. ## Choropleth maps A map (choropleth) shades regions by a `value`, joining your `category` column to a registered GeoJSON by name. The map name defaults to `world`; sub-national maps (US states, etc.) use a different registered name. > [!NOTE] > Maps need a GeoJSON boundary asset registered at deploy time. The rendering is > built in; the geographic reference data is a deployment asset your administrator > supplies. Region names in your data must match the GeoJSON's feature names. ## Next steps - [Formatting & theming](/docs/visualizations/formatting-and-theming) — number formats and colors. - [Interactivity](/docs/visualizations/interactivity) — cross-filtering and drill-down.