Stacked series chart
Chart styletype: "chart"Stack multiple series per category with a legend to show composition — series data overridden on every API call. Generate stacked bar charts free.
Design JSON — “Stacked series” variant
{
"title": "Chart sample",
"description": "A dynamic bar chart",
"dimensions": {
"width": 800,
"height": 420
},
"background": {
"color": "#ffffff"
},
"components": [
{
"id": "sample-chart",
"key": "sales",
"type": "chart",
"position": {
"x": 140,
"y": 60
},
"rotation": 0,
"size": {
"width": 520,
"height": 300
},
"dynamic": true,
"properties": {
"chartType": "bar",
"data": [],
"labels": [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri"
],
"colors": [],
"orientation": "vertical",
"showAxis": true,
"showGrid": true,
"showValues": false,
"valueFormat": "number",
"opacity": 1,
"series": [
{
"name": "2025",
"data": [
12,
28,
20,
34,
26
]
},
{
"name": "2026",
"data": [
18,
22,
26,
30,
32
]
}
],
"stacked": true,
"showLegend": true,
"legendPosition": "bottom"
}
}
]
}Chart examples
Real renders of the stacked series chart — each one is the same component with different property values, and the API payload below each preview reproduces it exactly.
Revenue split by product line
Subscriptions vs one-time sales stacked per month, brand-colored.
API overrides for this example
{
"sales.chartType": "bar",
"sales.data": [],
"sales.series": [
{
"name": "Subscriptions",
"data": [
24,
28,
31,
36,
40
],
"color": "#6366F1"
},
{
"name": "One-time",
"data": [
11,
9,
14,
12,
16
],
"color": "#F59E0B"
}
],
"sales.stacked": true,
"sales.showLegend": true,
"sales.legendPosition": "bottom",
"sales.labels": [
"Feb",
"Mar",
"Apr",
"May",
"Jun"
],
"sales.valueFormat": "currency",
"sales.currencySymbol": "$"
}Support tickets by priority
Low / high priority ticket volume stacked per week for an ops report.
API overrides for this example
{
"sales.chartType": "bar",
"sales.data": [],
"sales.series": [
{
"name": "Low",
"data": [
34,
41,
38,
29
],
"color": "#10B981"
},
{
"name": "High",
"data": [
12,
8,
15,
11
],
"color": "#EF4444"
}
],
"sales.stacked": true,
"sales.showLegend": true,
"sales.legendPosition": "bottom",
"sales.labels": [
"W1",
"W2",
"W3",
"W4"
]
}When to use the stacked series style
- Revenue split by product line per month
- Team workload composition reports
- Year-over-year comparisons in one bar
Use it dynamically via the API
Feed fresh numbers via '<key>.data' (or '<key>.series' for multi-series), and swap '<key>.labels' or '<key>.chartType' per render.
Full API request with this variant's current values — the playground above sends only the properties you change
curl --location 'https://render.imejis.io/v1/{{YOUR_DESIGN_ID}}' \
--header 'dma-api-key: {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"sales.chartType": "bar",
"sales.data": [],
"sales.labels": [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri"
],
"sales.colors": [],
"sales.orientation": "vertical",
"sales.showAxis": true,
"sales.showGrid": true,
"sales.showValues": false,
"sales.valueFormat": "number",
"sales.opacity": 1,
"sales.series": [
{
"name": "2025",
"data": [
12,
28,
20,
34,
26
]
},
{
"name": "2026",
"data": [
18,
22,
26,
30,
32
]
}
],
"sales.stacked": true,
"sales.showLegend": true,
"sales.legendPosition": "bottom"
}'Only send the properties you want to change — everything else keeps its design value. See the API documentation for all languages.
Other chart styles
See the chart component page for the full property reference and FAQs.