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,
...