Three Measures in JavaScript
Using ApexCharts with JavaScript
This Three Measures example uses ApexCharts.js directly in JavaScript, with no wrapper component.
Install it with npm install apexcharts, then mount the chart with new ApexCharts(element, options).render().
var options = {
series: [
{
name: '2021',
data: [
{
x: 'Unit tests',
y: 62,
},
{
x: 'Linting',
y: 55,
},
{
x: 'Type checks',
y: 31,
},
{
x: 'E2E tests',
y: 24,
},
{
x: 'Security scan',
y: 18,
},
],
},
{
name: '2023',
data: [
{
x: 'Unit tests',
y: 74,
},
{
x: 'Linting',
y: 71,
},
{
x: 'Type checks',
y: 52,
},
{
x: 'E2E tests',
y: 39,
},
{
x: 'Security scan',
y: 37,
},
],
},
{
name: '2025',
data: [
{
x: 'Unit tests',
y: 88,
},
{
x: 'Linting',
y: 86,
},
{
x: 'Type checks',
y: 78,
},
{
x: 'E2E tests',
y: 58,
},
{
x: 'Security scan',
y: 64,
},
],
},
],
chart: {
type: 'dumbbell',
height: 380,
},
colors: ['#93C5FD', '#3B82F6', '#1D4ED8'],
title: {
text: 'Share of teams running each stage in CI',
align: 'left',
},
subtitle: {
text: 'Three snapshots on one row. Only the two extremes are labelled.',
align: 'left',
},
plotOptions: {
bar: {
dumbbell: {
connector: {
color: '#E5E7EB',
opacity: 1,
},
dataLabels: {
formatter: function (val) {
return val + '%'
},
},
},
},
},
xaxis: {
min: 0,
max: 100,
labels: {
formatter: function (val) {
return val + '%'
},
},
},
}
var chart = new ApexCharts(document.querySelector('#chart'), options)
chart.render()