React Scatter Chart
A React scatter chart with ApexCharts in AdminKit PRO: three samples of points on two numeric axes, with zoom on both axes, in light and dark mode.
This component is only available in AdminKit PRO. Learn more.
Use a scatter chart to see how two values relate: whether one goes up with the other, and where the points cluster. Each point sits on two numeric axes.
AdminKit for React draws it with ApexChart, a React component around ApexCharts. The Chart setup page has the details of the component.
The data is long, so the example keeps it in a constant outside the component. That also keeps it out of the options function, which runs again on every color mode change.
Example
import { ApexChart } from "@/components/plugins/apexcharts";
// [x, y] per point
const samples = [
{
name: "SAMPLE A",
data: [
[16.4, 5.4], [21.7, 2], [25.4, 3], [19, 2], [10.9, 1], [13.6, 3.2],
[10.9, 7.4], [10.9, 0], [10.9, 8.2], [16.4, 0], [16.4, 1.8], [13.6, 0.3],
[13.6, 0], [29.9, 0], [27.1, 2.3], [16.4, 0], [13.6, 3.7], [10.9, 5.2],
[16.4, 6.5], [10.9, 0], [24.5, 7.1], [10.9, 0], [8.1, 4.7], [19, 0],
[21.7, 1.8], [27.1, 0], [24.5, 0], [27.1, 0], [29.9, 1.5], [27.1, 0.8],
[22.1, 2],
],
},
{
name: "SAMPLE B",
data: [
[36.4, 13.4], [1.7, 11], [5.4, 8], [9, 17], [1.9, 4], [3.6, 12.2],
[1.9, 14.4], [1.9, 9], [1.9, 13.2], [1.4, 7], [6.4, 8.8], [3.6, 4.3],
[1.6, 10], [9.9, 2], [7.1, 15], [1.4, 0], [3.6, 13.7], [1.9, 15.2],
[6.4, 16.5], [0.9, 10], [4.5, 17.1], [10.9, 10], [0.1, 14.7], [9, 10],
[12.7, 11.8], [2.1, 10], [2.5, 10], [27.1, 10], [2.9, 11.5], [7.1, 10.8],
[2.1, 12],
],
},
{
name: "SAMPLE C",
data: [
[21.7, 3], [23.6, 3.5], [24.6, 3], [29.9, 3], [21.7, 20], [23, 2],
[10.9, 3], [28, 4], [27.1, 0.3], [16.4, 4], [13.6, 0], [19, 5],
[22.4, 3], [24.5, 3], [32.6, 3], [27.1, 4], [29.6, 6], [31.6, 8],
[21.6, 5], [20.9, 4], [22.4, 0], [32.6, 10.3], [29.7, 20.8], [24.5, 0.8],
[21.4, 0], [21.7, 6.9], [28.6, 7.7], [15.4, 0], [18.1, 0], [33.4, 0],
[16.4, 0],
],
},
];
export function SamplesScatterChart() {
return (
<div className="position-relative" style={{ minHeight: 365 }}>
<ApexChart
options={() => ({
series: samples,
chart: {
height: 350,
type: "scatter",
zoom: { enabled: true, type: "xy" },
},
xaxis: {
tickAmount: 10,
labels: { formatter: (val: string) => parseFloat(val).toFixed(1) },
},
yaxis: { tickAmount: 7 },
})}
/>
</div>
);
}The three samples take the primary, success and warning colors of the wrapper.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
options | (theme: Theme) => ApexOptions | The ApexCharts options, with series and chart.type. Called again with the new colors when the color mode changes |
Options
- Each point is
[x, y]. ApexCharts makes the x-axis numeric for a scatter chart.xaxis.labels.formattergets each tick as a string, and the example rounds it to one decimal. tickAmountsets the number of ticks: 10 on the x-axis, 7 on the y-axis.chart.zoomwithtype: "xy"lets the user drag a rectangle to zoom in on both axes. The toolbar has the buttons to zoom out and reset.type: "x"zooms the x-axis only.
Accessibility
- Points of the three samples differ by color. The legend names the samples.
markers.shapetakes one shape per series, such as"circle"or"square", so they differ by shape too. - The coordinates of a point show in the tooltip on hover only. Give the conclusion of the chart (a trend, a cluster) in text.
ApexChartpasses other props to its<div>, sorole="figure"and anaria-labelname the chart.- Zooming needs a mouse or touch drag. The same data at the default zoom must make sense without it.
Related
- Next.js scatter chart: the same chart in AdminKit for Next.js
- Bootstrap 5 scatter chart: the ApexCharts example of the HTML version
- Chart setup: the
ApexChart,ChartJsandVectorMapcomponents - React bubble chart: points with a third value as the size
- ApexCharts demo: the line, area, bar, column, pie, heatmap, mixed and candlestick charts of the demo
Last updated on
Mixed chartPro
A React mixed chart with ApexCharts in AdminKit PRO: columns, an area and a line in one chart, with a shared tooltip, drawn by the ApexChart component.
Timeline chartPro
A React timeline chart with ApexCharts in AdminKit PRO: tasks as horizontal bars from a start to an end date, drawn as a rangeBar chart.