Chart component
Datatype: "chart"Bar, line and area charts with single- or multi-series data, labels, legends, axes and value formatting — dashboard-quality charts rendered straight into your image.
Design JSON
{
"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": [
12,
28,
20,
34,
26
],
"labels": [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri"
],
"colors": [],
"orientation": "vertical",
"showAxis": true,
"showGrid": true,
"showValues": false,
"valueFormat": "number",
"opacity": 1
}
}
]
}Like what you built? The full editor — canvas, templates and the render API — is free to start.
Open the editorChart examples
Real renders of the chart — each one is the same component with different property values, and the API payload below each preview reproduces it exactly.
Weekly signups report
A Slack-ready bar chart of new signups per weekday, values printed on the bars.
API overrides for this example
{
"sales.data": [
142,
189,
173,
236,
208
],
"sales.labels": [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri"
],
"sales.colors": [
"#6366F1"
],
"sales.showValues": true,
"sales.yAxisLabel": "Signups"
}Monthly revenue in dollars
Revenue per month formatted as currency, compact enough for an email header.
API overrides for this example
{
"sales.data": [
12400,
15800,
14200,
19600,
22300
],
"sales.labels": [
"Feb",
"Mar",
"Apr",
"May",
"Jun"
],
"sales.colors": [
"#10B981"
],
"sales.valueFormat": "currency",
"sales.currencySymbol": "$",
"sales.showValues": true
}All chart styles
Every style rendered live — each is just a different set of property values on the same component, and each has its own page with a dedicated preview, use cases and API example.
Use cases
What developers typically build with the chart component.
- Weekly KPI report images posted to Slack or email
- OG images with live stats for blog posts and dashboards
- Automated investor and client report graphics
- E-commerce sales trend snapshots
- Social cards visualizing survey results
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 the sample design'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": [
12,
28,
20,
34,
26
],
"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
}'Only send the properties you want to change — everything else keeps its design value. See the API documentation for all languages.
Property reference
Every property the chart component accepts — in the editor, in design JSON, and as API overrides.
| Property | Type | Edits as | Default | Description |
|---|---|---|---|---|
| chartType | 'bar' | 'line' | 'area' | barlinearea | "bar" | Chart style. |
| data | number[] | text | [] | Single-series data values (ignored when series is set). |
| series | object[] | text | [] | Multi-series data: array of { name?, data: number[], color? }. |
| labels | string[] | text | [] | Category labels along the x-axis. |
| colors | color[] | text | [] | Color palette. Multi-series: one color per series. Single-series bar charts: colors[i] colors bar i individually (empty string = inherit). |
| orientation | 'vertical' | 'horizontal' | verticalhorizontal | "vertical" | Bar direction for bar charts. |
| stacked | boolean | false | false | Stack multiple series on top of each other. |
| sparkline | boolean | false | false | Minimal mode: hides axes, grid and labels. |
| showAxis | boolean | true | true | Show the x/y axes. |
| showGrid | boolean | true | true | Show background grid lines. |
| showValues | boolean | false | false | Print each data value on the chart. |
| showLegend | boolean | true / false | — | Show the series legend. |
| legendPosition | 'top' | 'right' | 'bottom' | toprightbottom | "bottom" | Where the legend is placed. |
| valueFormat | 'number' | 'compact' | 'percent' | 'currency' | numbercompactpercentcurrency | "number" | How values are formatted (1200, 1.2K, 12%, $1,200). |
| currencySymbol | string | text | "$" | Currency symbol used with the 'currency' format. |
| textColor | color | #52514e | "#52514e" | Color of axis labels and values. |
| gridColor | color | #e6e6e3 | "#e6e6e3" | Color of the grid lines. |
| xAxisLabel | string | text | — | Caption below the x-axis. |
| yAxisLabel | string | text | — | Caption beside the y-axis. |
| lineWidth | number | 2 | 2 | Stroke width for line/area charts in pixels. |
| opacity | number | 1 | 1 | Overall component opacity from 0 (transparent) to 1 (opaque). |
| borderWidth | number | 0 | 0 | Border thickness in pixels around the component. |
| borderColor | color | transparent | "transparent" | Border color (any CSS color). |
| borderStyle | 'solid' | 'dashed' | 'dotted' | 'double' | 'none' | soliddasheddotteddoublenone | "solid" | Border line style. |
| borderRadius | number | 0 | 0 | Corner radius in pixels. |
| boxShadow | string | text | — | CSS box-shadow applied to the component, e.g. "0 4px 6px rgba(0,0,0,0.1)". |