Embedding Charts in Reports
Chart components visualise time-series telemetry directly in a report. ThingsBoard supports 11 chart types, each configurable with its own data source, series, axes, and legend.
Prerequisites: A report template must exist before adding a chart.
Chart types
Section titled “Chart types”| Chart type | Description |
|---|---|
| Time series chart | Visualizes multiple telemetry keys over time; combines line and bar views on a shared time axis |
| Line chart | Classical line graph for comparing continuous trends across entities or keys |
| Bar chart | Vertical bars for aggregated totals or side-by-side category comparisons |
| Point chart | Individual telemetry values displayed as dots on a time axis |
| State chart | Illustrates boolean or discrete-state changes over time |
| Bar chart with labels | Bar chart with numeric value labels rendered on each bar |
| Range chart | Displays minimum and maximum values as a shaded range band around a central series |
| Bars | Single-value metric displayed as a compact horizontal progress bar |
| Pie | Circular chart showing the proportional breakdown of a snapshot value |
| Doughnut | Pie variant with a hollow center; ideal for highlighting a key metric in the middle |
| Horizontal doughnut | Side-by-side doughnut rings for compact multi-metric comparison |
Add a chart to a template
Section titled “Add a chart to a template”- Open the report template in the Report Builder.
- Drag the the desired chart from the Components library into the content area.
- Configure the Data and Layout tabs (see below).
- Click Save.
Configuration
Section titled “Configuration”Each chart is configured through a set of tabs in the component editor. The available tabs and options depend on the chart type.
Time window
Section titled “Time window”Defines the time interval for displaying telemetry data. Supports relative ranges (e.g. Last 24 hours, Last 7 days) and absolute date ranges. Also controls the aggregation interval applied to the data.
Datasource — defines where the chart pulls its data:
- Device — a fixed, specific device.
- Entity alias — a dynamic reference to one or more entities, resolved at runtime. Useful when a chart needs to work across multiple entities simultaneously.
Optionally apply filters to narrow down the entity alias result.
Series — specifies which telemetry keys to visualize (e.g. temperature). Each series entry has a key (telemetry key name) and a label shown in the legend (supports variables such as ${entityName}). Depending on the chart type, each data key may expose additional options such as units, colors, and line or bar styles.
Layout
Section titled “Layout”Adjusts the visual appearance of the component: height, width, alignment, padding, margins, background color, and border styles.
Chart-type dependent settings
Section titled “Chart-type dependent settings”The following tabs appear depending on the selected chart type:
| Tab | Description |
|---|---|
| Y axes | Axis labels, units, position, and min/max value ranges to control vertical data display |
| Thresholds | Reference lines based on constant values, entity keys, or other entities — useful for highlighting safe, warning, or critical limits |
| X axis | Horizontal axis properties: label, position, tick density, and vertical grid line visibility |
| Legend | Placement, formatting, and content — clarifies which series each color represents |
Example
Section titled “Example”Compare Temperature Across Devices in a Report — step-by-step walkthrough: add a Line chart component to a report template and configure it to compare temperature telemetry from multiple devices over the past 24 hours.