Renders a Chart.js-powered chart. Supports line, bar, doughnut, pie, radar, polar area, bubble and scatter types.
.chartType(ChartType.line)
.chartData(ChartData.builder()
.labels(List.of("Jan", "Feb", "Mar", "Apr"))
.datasets(List.of(ChartDataset.builder()
.data(List.of(1000d, 1500d, 1200d, 1800d))
| Property | Type | Default | Description |
|---|
chartType | ChartType | bar | Chart variety |
chartData | ChartData | — | Labels and datasets |
chartOptions | ChartOptions | — | Chart.js options object |
style | String | "" | Inline CSS — use to set height |
cssClasses | String | "" | CSS class names |
line, bar, doughnut, pie, radar, polarArea, bubble, scatter
| Property | Type | Description |
|---|
labels | List<String> | Category labels on the axis |
datasets | List<ChartDataset> | One dataset per series |
| Property | Type | Description |
|---|
label | String | Series name (shown in the legend) |
data | List<Double> | Data points |
| Property | Type | Description |
|---|
maintainAspectRatio | boolean | Whether the chart maintains its aspect ratio |
scales | ChartScales | Axis scale configuration |
.chartType(ChartType.line)
.chartData(ChartData.builder()
.labels(List.of("Mon", "Tue", "Wed", "Thu", "Fri"))
.datasets(List.of(ChartDataset.builder()
.data(List.of(12d, 19d, 3d, 5d, 2d))
.chartOptions(ChartOptions.builder()
.maintainAspectRatio(false)
.scales(ChartScales.builder()
.y(ChartAxisScale.builder().beginAtZero(true).build())
.chartType(ChartType.doughnut)
.chartData(ChartData.builder()
.labels(List.of("Scrap", "In progress", "Done"))
.datasets(List.of(ChartDataset.builder()
.data(List.of(5d, 12d, 30d))
.chartType(ChartType.bar)
.chartData(ChartData.builder()
.labels(List.of("Q1", "Q2", "Q3", "Q4"))
ChartDataset.builder().label("2023").data(List.of(100d, 120d, 90d, 150d)).build(),
ChartDataset.builder().label("2024").data(List.of(110d, 130d, 100d, 160d)).build()