React ChartsStyle Segments

Style Segments allow customising the style of a series for defined ranges along an axis, making it easier to highlight thresholds, distinguish data ranges, or separate actual and predicted values.

Segmentation Copy Link

The segmentation option takes a key to determine which axis to use, and a segments array for the styles.

{
    series: [
        {
            type: 'area',
            yKey: 'variance',
            xKey: 'date',
            strokeWidth: 2,
            fillOpacity: 0.3,
            fill: 'green', //used for the series
            stroke: 'green', //used for the series
            segmentation: {
                key: 'y', //segment along the y-axis
                segments: [
                    {
                        stop: 0, //domain minimum until 0
                        fill: 'red', //used for this segment
                        stroke: 'red', //used for this segment
                    },
                ],
            },
        },
    ],
}

In this configuration:

  • The series fill and stroke are red when values fall below 0 on the y-axis.
  • The series fill and stroke are green when values are above 0 on the y-axis.
  • Properties fillOpacity and strokeWidth not specified in the segment are inherited from the series.

Segmentation Key Copy Link

Set segmentation.key: 'x' to segment along the xKey axis, or segmentation.key: 'y' to segment along the yKey axis.

{
    series: [
        {
            type: 'line',
            xKey: 'date',
            yKey: 'value',
            segmentation: {
                key: 'x',
                segments: [
                    {
                        start: new Date('2025-01-01'),
                        lineDash: [5, 10],
                    },
                ],
            },
        },
    ],
}

In the example above:

  • The series uses a solid stroke for 2024 and a dashed stroke for 2025 to distinguish actual and forecast data.

Segments Copy Link

Each segment in the segments array is defined by bounds and provides style overrides:

  • start / stop

    • The axis range for the segment style to start and stop at.
    • Omit start to begin at the axis minimum or the stop of the previous segment.
    • Omit stop to end at the axis maximum or the start of the next segment.
  • Style properties

    • These are the same styling keys available on the series, such as stroke and fill.
    • Unspecified properties fall back to the main series options or defaults.

API Reference Copy Link