Scatter Chart
Scatter and bubble plots, with optional size and grouping fields. The right tool when you are looking for a relationship between two variables rather than a trend over time.


Reach for it when you need:
- Temperature against yield
- Speed against reject rate, grouped by product
Component name: ScatterChart · Category: Chart
In the palette: Scatter / bubble (size + group fields). Bind data to a named query; click a point to expose {{point.value}} ([x, y]).
Properties
Any property can be bound to a tag, another component's property, or a query.
| Property | Type | Default | Description |
|---|---|---|---|
data | array | [{"x":12,"y":18,"size":14,"group":"Line A"},{"x":15,"y":22,"… (truncated) | Array of row objects. Bind to a named query ({{query.MyQuery}}), a tag, or edit inline. Rows map to series via categoryField + seriesFields (auto-derived when empty). |
animation | boolean | true | Enable enter/update animation. |
animationDuration | number | 600 | ms. |
animationEasing | enum | cubicOut | Options: linear · cubicIn · cubicOut · cubicInOut · quadraticOut · elasticOut · bounceOut. |
animationDelay | number | 0 | Per-datum stagger (ms). |
title | object | {"show":true,"text":"","subtext":"","left":"left"} | — |
legend | object | {"show":true,"type":"plain","orient":"horizontal","left":"ce… (truncated) | — |
tooltip | object | {"show":true,"trigger":"axis","axisPointerType":"line"} | — |
colorPalette | string | "" | Comma-separated series colors (e.g. #2563eb, #16a34a). Empty ⇒ theme palette. |
backgroundColor | color | "" | Empty ⇒ transparent/theme. |
xAxis | object | {"show":true,"name":"","type":"category","min":"","max":"","… (truncated) | — |
yAxis | object | {"show":true,"name":"","type":"value","min":"","max":"","spl… (truncated) | — |
grid | object | {"left":8,"right":16,"containLabel":true} | — |
dataZoom | object | {"enabled":false,"type":"inside","start":0,"end":100} | — |
xField | string | "" | COLUMN NAME for the X value. Empty ⇒ first numeric column. |
yField | string | "" | COLUMN NAME for the Y value. Empty ⇒ second numeric column. |
sizeField | string | size | Bubble size: COLUMN NAME whose value sizes each bubble (a field like 'size', not a number). Empty ⇒ all points the same size. |
groupField | string | group | Series split: COLUMN NAME to split points into colored series/legend groups (e.g. 'grp'). Empty ⇒ one series. |
symbol | enum | circle | Options: circle · rect · roundRect · triangle · diamond · pin · arrow · none. |
symbolSize | number | 24 | Point diameter in px. With a sizeField set, this is the LARGEST bubble; values scale up to it. Raise it for bigger bubbles. |
enableClick | boolean | true | Fire the Data click event + expose lastClicked. |
lastClicked | object | {} | Output (bind from this): the last-clicked datum — {{ ThisChart.lastClicked.value }}. |
optionOverride | string | "" | Power user: paste a raw JSON object of chart options to deep-merge over the built chart, e.g. {"series":[{"itemStyle":{"color":"#e11"}}]}. Empty = none. |
emptyMessage | string | No data | — |
style | style | {} | Custom CSS properties |
Events
Attach event actions to these in the Event Manager.
| Event | Label | Group | Payload |
|---|---|---|---|
click | Click | Mouse | The DOM event. |
dblclick | Double click | Mouse | The DOM event. |
contextmenu | Right click | Mouse | The DOM event. |
mouseenter | Mouse enter | Mouse | The DOM event. |
mouseleave | Mouse leave | Mouse | The DOM event. |
dataClick | Data click | Chart | The clicked datum, under point. |
dataDblClick | Data double click | Chart | The clicked datum, under point. |
legendSelect | Legend toggle | Chart | The toggled series. |
Right-click behaves differently in the Designer
contextmenu fires your configured actions at runtime only — in LiveView and in preview. On the Designer canvas the right-click is captured to open the Event Manager, so testing it there will not run your actions. Test right-click in preview.