Add dashboard panels (API)
How to design your Dashboard with custom Panels.
You can add Panels in the user interface or using Python API. This pages describes the Python API. Check how to add panels in the UI.
Dashboard Management
Dashboards as code are available in Evidently OSS, Cloud, Enterprise.
You must first connect to Evidently Cloud and create a Project.
Adding Tabs. To add a new Tab:
You can also create a new Tab while adding a Panel as shown below. If the destination Tab doesn’t exist, it will be created. If it does, the Panel will be added below existing ones in that Tab.
Deleting Tabs. To delete a Tab:
Deleting Panels. To delete a specific Panel:
(First list the Panel name, then the Tab name).
[DANGER]. Delete Dashboard. To delete all Tabs and Panels on the Dashboard:
Note: This does not delete the underlying Reports or dataset; it only clears the Panels.
Adding Panels
Imports:
You can add multiple Panels at once: they will appear in the listed order.
Text
Text-only panels are perfect for titles.
Add a text panel. Add a new text panel to the specified Tab.
Counters
Counter panels show a value with optional supporting text.

Text counter
Shows the specified value(s) and optional text.

Pie chart
Shows the specified value(s) in a pie chart.
Add Counters. To add panels for the RowCount
metric with different aggregations:
Add pie charts. You can use the same aggregation params (sum
, last
, avg
).
Plots
These Panels display values as bar or line plots.

Line chart
Shows the selected values over time. You can add multiple series to the same chart as multiple lines.

Bar chart (stacked)
Shows selected values or distributions over time (if stored in each Report). Stacked in a single bar.

Bar chart (grouped)
Shows selected values or distributions over time (if stored in each Report). Multiple bars.
Add Plots. To add time series panels for the RowCount
metric.
Multiple values. A single Panel can show multiple values. For example, this will add multiple lines on a Line chart:
Configuring Panel values
To plot values in a Panel, reference the name of an Evidently Metric included in the Reports logged to your Project. If the metric isn’t present, the Panel will be empty.
- Dataset-level Metrics: pass the Metric name directly to
PanelMetric
, e.g.,"RowCount"
. - Presets (like
TextEvals
). Even when using a Preset, you must still reference the exact Metric inside it — such asUniqueValueCount
orQuantileValue
. (See the All Metrics Reference Table for a full list of Metrics). - Column-level Metrics. If the Metric operates on a specific column, use
metric_labels
to specify it. This also applies to text descriptors logged using TextEvals.
Example:
Use metric_labels
when the metric has extra parameters and you want to narrow the values shown on the Panel. This includes:
- Column-level metrics. As shown above.
- Metrics with multiple value types. Some metrics return both
share
andcount
(e.g.,CategoryCount
). Use{"value_type": "share"}
to specify. - Metrics with extra configuration. If a metric has configurable options (like drift method), include those in
metric_labels
to differentiate.
Otherwise, all values for that metric will be plotted unless you also filter Reports by Tags.
All parameters
Dashboard Panel options
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
title | str | ❌ | None | Title of the panel. |
description | str | ❌ | None | Optional panel description shown as a subtitle. |
size | str | ❌ | "full" | Panel size: "full" (100% width) or "half" (50%). |
values | list | ✅ | — | List of PanelMetric objects to display. |
tab | str | ❌ | None | Dashboard tab name. If not set, defaults to the first tab or creates a new “General” tab. |
create_if_not_exists | bool | ❌ | True | If True , creates the tab if it doesn’t exist. Throws exception if False . |
plot_params | dict | ❌ | {} | Panel visualization settings like "plot_type" : "text" , "line" , "counter" . |
PanelMetric
options
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
legend | str | ❌ | None | Legend name in the panel. If None , one is auto-generated. |
tags | list | ❌ | [] | Optional tags to select values only from a subset of Reports in the Project. |
metadata | dict | ❌ | {} | Optional metadata to select values only from a subset of Reports in the Project. |
metric | str | ✅ | — | Metric name (e.g., "RowCount" or "evidently:metric_v2:MinValue" ). |
metric_labels | dict | ❌ | {} | Parameters like column names {"column": "Col_name"} or value types. |