display_chart tool from a previous execute_sql result, and both can be adjusted afterwards without re-running the query.
Chart types
The agent picks a chart type from the result set, and you can change it later from the edit dialog.
Stacked bar and stacked area charts also have a normalized variant that plots each series as a share of its category total on a 0-100% axis. See Normalize to 100 percent below.
For large numeric values, nao shortens Y-axis labels to values such as
100K, 1.5M, or 2B to keep charts readable.
Pie and donut charts
Pie and donut charts take exactly one series. Categories are shown in a legend rather than as labels drawn on the slices, and slices are separated by a small gap so adjacent categories stay distinguishable. When a result set has more than 10 categories, nao keeps the 10 largest slices by value and sums the remainder into a single Other slice. If the data already contains a category called “Other”, the remainder is merged into it rather than creating a duplicate.Editing a chart
Click the pencil icon next to a chart’s download button to open the edit dialog. Changes apply to the existing chart config, so the query is not re-run. The dialog lets you set:- Title
- Chart type
- X-axis type:
Auto,Category,Date, orNumber - X-axis column
- Series: for each series, the data column, an optional label, and a color. Use Add series to plot another column, or the bin icon to remove one (at least one series is required).
- Y-axis range
- Show data labels
Normalize to 100 percent
When the selected chart type is a stacked bar or stacked area chart, the dialog shows a Normalize to 100% toggle. Turning it on switches the chart to its 100% stacked variant: each series is drawn as a share of the category total and the axis runs from 0 to 100%. Tooltips show percentages instead of absolute values. Use it when the composition matters more than the absolute totals. Turning the toggle off returns the chart to absolute stacking.Y-axis range
By default the Y axis adapts to the values in the result set. Line and scatter charts auto-scale to a readable range rather than forcing a zero baseline. To pin the scale, enter a Min, a Max, or both in the Y-axis range fields. Leaving a field on itsAuto placeholder keeps that bound automatic. The minimum must be lower than the maximum, otherwise the dialog rejects the change.
The Y-axis range fields are not shown for pie, KPI card, and radar charts, which have no Y axis.
Data labels
The Show data labels toggle prints the numeric value of each data point directly on the chart, instead of requiring a hover. You can also ask the agent for it in plain English (for example: “show the values on the chart”). On line and area charts, labels are limited to the most significant points so a dense series stays legible.Viewing the SQL and data behind a chart
Every chart is backed by a SQL query and its result set. Click the View SQL query and data action (the<> icon) on the chart toolbar to open a side panel with the execute_sql query on top and the result rows below, so you can verify exactly how a chart was built.
Tables
Ask for a table instead of a chart and the agent renders the result set withdisplay_chart using chart_type: "table".
Tables include:
- Right-aligned numeric columns with tabular figures, so digits line up.
Conditional formatting
Numeric, boolean, and text columns can be colored by rule. Open the Edit table formatting dialog from the table toolbar and pick a rule per column - columns default to None. Available rules depend on the column type:Numeric
Color scale shades each cell on a gradient between the column minimum and maximum. Threshold colors cells matching a comparison (
≥, >, ≤, <, =) against a value.Boolean
Boolean sets a background color for true cells, false cells, or both. Leave a color unset to skip that case.
Text
String colors cells that match an operator:
equals for an exact match, in list for one of several values, or contains for a case-insensitive substring.“Show revenue by region as a table and highlight anything under 10k in red.” “Put a color scale on the conversion rate column.”The agent is instructed to use real conditional formatting for these requests rather than faking it with emoji or by adding an extra status column to the data.
Date format
Dates rendered by nao follow a project-level setting rather than each viewer’s locale, so everyone on the project reads the same format. Set it in Settings -> Project on the Date format card. This is an admin setting.
European is the default. Choosing Custom lets you compose a pattern from the supported tokens:
YYYY, YY, MMMM, MMM, MM, M, DD, D, dddd, and ddd. The card previews the result on a sample date as you type.
The setting applies to chart axes, tooltips, legends, and KPI cards, to SQL result tables, and to the charts and tables inside stories and their PDF and HTML exports.