JSFiddle - React, Tailwind, and code Playground

by jonatan FRank

HTML

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

JavaScript

function getRecFromPlotBand(plotBand) {
    var d = plotBand.svgElem.d;
    var dArray = d.split(" ");
    return {
        x: dArray[1],
        y: dArray[5],
        width: dArray[6] - dArray[4],
        height: plotBand.svgElem.element.ownerSVGElement.clientHeight - dArray[5]
    };
}

var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'areaspline',
            events: {
                load: function() {
                    var plotBands = this.xAxis[0].plotLinesAndBands;
                    for (var i in plotBands) {
                        console.log(plotBands[i]);
                        var rect = getRecFromPlotBand(plotBands[i]);
                        this.renderer.rect(rect.x, rect.y, rect.width, rect.height)
                            .attr({
                                fill: 'rgba(255, 0, 0, .2)'
                            })
                            .add();
                    }
                }
            }
        },
        title: {
            text: 'Average fruit consumption during one week'
        },
        legend: {
            layout: 'vertical',
            align: 'left',
            verticalAlign: 'top',
            x: 150,
            y: 100,
            floating: true,
            borderWidth: 1,
            backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
        },
        xAxis: {
            categories: [
                'Monday',
                'Tuesday',
                'Wednesday',
                'Thursday',
                'Friday',
                'Saturday',
                'Sunday'
            ],
            plotBands: [{ // visualize the weekend
                from: 3.5,
                to: 4.5,
                color: 'rgba(68, 170, 213, .2)'
            }]
        },
        yAxis: {
            title: {
                text: 'Fruit units'
            }
        },
        tooltip: {
            shared: true,
    ...