Skip to content

Different bullet styling of grouped data items

This tutorial shows how we can use data item object in a bullet function to determine whether it’s a grouped data item, or regular one, to apply different styling to the bullet.

To determine if data item is for a grouped data, we will take a look at its originals value.

Data item object is passed in as a third parameter in a bullet function:

series.bullets.push(function (root, series, dataItem) {
let grouped = dataItem.get("originals") ? true : false;
return am5.Bullet.new(root, {
sprite: am5.Circle.new(root, {
radius: grouped ? 8 : 4,
fill: grouped ? am5.color(0xff0000) : series.get("fill"),
stroke: am5.color(0xffffff),
strokeWidth: 1
})
});
});

Please note, originals are not included in the data item settings by default.

To enable it, we need to set groupWithOriginals: true in series’ settings:

let series = chart.series.push(
am5xy.LineSeries.new(root, {
xAxis: xAxis,
yAxis: yAxis,
valueYField: "value",
valueXField: "date",
groupDataWithOriginals: true
})
);
Open in CodePen