A Range Bar Series uses vertical or horizontal bars to show the range between high and low values in data. This series type is commonly used to assess data stability or variability.
Simple Range Bar Copy Link
The Range Bar Series is created using the range-bar series type.
{
series: [
{
type: 'range-bar',
xKey: 'department',
yLowKey: 'low',
yHighKey: 'high',
},
],
}
The yLowKey and yHighKey are used to retrieve the range of values for the Y axis.
Multiple Range Bar Series Copy Link
Multiple Range Bar Series can be combined into a single chart.
{
series: [
{
type: 'range-bar',
xKey: 'date',
yLowKey: 'start',
yHighKey: 'gain',
xName: 'Month',
yLowName: 'Start',
yHighName: 'End',
yName: 'Gained',
},
{
type: 'range-bar',
xKey: 'date',
yLowKey: 'loss',
yHighKey: 'gain',
xName: 'Month',
yLowName: 'End',
yHighName: 'Start',
yName: 'Lost',
},
],
}
In this configuration:
yNameis used to control the text displayed in the legend.yLowName,yHighNameandxNameare used to control the text displayed in the tooltip.
Missing Data Copy Link
The series handles missing or invalid data based on the presence or validity of xKey, yLowKey and yHighKey values in the data object.
When the axes types are continuous ('number', 'time' or 'log'), the yLowKey, yHighKey and xKey values in the data object are considered invalid if they are:
+/-InfinitynullundefinedNaN
Data entries with invalid yLowKey, yHighKey and xKey values will result in gaps in the series.
Customisation Copy Link
Labels Copy Link
Series labels can be enabled using the label options.
{
series: [
{
// ...
label: {
padding: 10,
formatter: ({ itemId, value }) => {
return `£${value.toFixed(0)}K ${itemId === 'low' ? '↓' : '↑'}`;
},
},
},
],
}
In this configuration:
- The
yHighKeyandyLowKeyvalues for each data point are presented as labels via thelabeloptions. - The
label.formatterfunction uses theitemIdfrom the params object to distinguish whether the label is aloworhighvalue.
Corner Radius Copy Link
The corner radius can be customised with the cornerRadius property.
{
series: [
{
// ...
cornerRadius: 10,
},
],
}
Horizontal Range Bar Copy Link
To create a Horizontal Range Bar Series, set direction: 'horizontal'.
{
series: [
{
type: 'range-bar',
direction: 'horizontal',
xKey: 'department',
yLowKey: 'low',
yHighKey: 'high',
},
],
}
When the direction is 'horizontal' the xKey will determine categories on the y-axis, while the yLowKey and yHighKey will be used to provide numerical values along the x-axis.