A dynamic circular pie or donut chart visualizing categorical proportional shares, complete with slice value labels, customizable empty state colors, theme palettes, and interactive toolbox utilities (image export, clear selection, data view table).
- Visualizing proportional distributions, parts-of-a-whole relationships, or percentage share compositions.
- Displaying dynamic categorical datasets where each slice’s volume contributes to a total 100% sum.
Requires an active Source Query. Select a valid column property for Label (defines pie slices) and a numerical column for Value (defines slice volume). Every label field must map to a valid numeric value.
- Categorical database query records where each category label maps to a positive numerical value contributing to a whole sum.
- A market share breakdown pie chart displaying product revenue proportions across a 6x6 grid panel.
- An operational budget distribution donut chart showing departmental expenditure shares with custom empty state background colors and image export tools enabled.
- Squeezing pie charts into small layout containers (under 6x6 grid units) — allocate at least 6x6 grid units, expanding up to 12x12 for high-density slice categories.
- Attempting to display datasets with a massive number of small slices — use the Data Display Limit configuration to cap categories cleanly.
- Using pie charts for multi-series trend comparisons over time — use line_chart or bar_chart instead.
Configure these in the Application Designer property panel. Group headings mirror the editor where possible. Data Source is where the element gets its rows or field binding (a view/query, a connector operation, or a parent form field). References appear only for view-backed sources and map foreign-key ID columns to readable labels from another view.
- Database view that supplies rows or form data.Default: none
- Selects the query column property used to define individual pie slices.Default: none
- Selects the numerical query column property defining the proportional volume of each slice.Default: none
- When true, hides slice value labels on the pie.Default: false
- Configuration for sort.Default: none
- Caps the maximum number of slice categories rendered on the pie chart.Default: none
- Configures label step intervals using ‘auto’ or explicit numbers to control label tick frequency.Example
autoDefault: none
- Selects predefined visual color palettes or unlocks custom color hex picker settings.Default: none
- Custom theme object for background, title, and legend colors when not using a named preset.Default: none
- Fill colour used when the chart has no data to display.Default: none
- Border colour used when the chart has no data to display.Default: none
- Toolbox buttons shown on the chart: save as image, restore, and data view.Default: none
- When true, renders a donut (hollow centre) instead of a filled pie.Default: none
- Row filter applied when loading data.Example
{ "combinator": "AND", "filters": [] }Default: defaultExpressionValue
Inside dataSource: (dataSource)
- Configuration for columns.Default: {"valueColumnName":"","labelColumnName":""}
Inside legend: (legend)
- Configuration for orient.Choices
verticalhorizontal
Default: none - Label position relative to the input control.Choices
topendbottomstarthidden
Default: none
- Default size when dropped on a page: 4 × 4.
title— Header title text displayed prominently above the pie chart container.
Renders canvas visual graphics with fallback ARIA chart roles (role='img') and accessible text descriptions. Turning on Data View allows screen reader users to consume underlying metric data in tabular format.
Other parts of your app can read live values from this element in custom expressions:
elements.myPieChart.<property>
loading
boolean
True while data is loading from the server.
elements.myPieChart.loading
When True while the chart is fetching. Use it to hold back a summary figure that would otherwise flash the wrong number.
data
null
Current payload rows or record object.
elements.myPieChart.data
error
string
Error message when the last operation failed.
elements.myPieChart.error
selected
object
Currently selected row(s) in the table.
elements.myPieChart.selected
When The record behind the slice the user clicked. This is how you make a chart drive the rest of the page — point a table or detail panel at it to drill down. Empty until something is clicked.
To use one of these, open the property you want to drive on the other element, switch it to expression mode in the Expression Editor, and enter:
| |
Replace myPieChart with this element’s unique id. Select the element in Application Designer and copy the id chip at the top of the right-hand property panel.
Drag this element into one of these containers:
| |