Highcharts Demo
author(s):
Torstein Hønsi
HTML
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container"></div>
<button id="button" class="autocompare highcharts-demo-button">Add plot line</button>
CSS
#container {
height: 400px;
}
.highcharts-demo-button {
background: var(--highcharts-neutral-color-5, #f2f2f2);
border: none;
border-radius: 4px;
color: var(--highcharts-neutral-color-100, #000);
cursor: pointer;
display: inline-block;
font-size: 0.8rem;
padding: 0.5rem 1.5rem;
margin: 0.5rem -5px 0.5rem 10px;
transition: background 250ms;
}
.highcharts-demo-button:hover {
background: var(--highcharts-neutral-color-10, #e6e6e6);
}
JavaScript
const chart = Highcharts.chart('container', {
xAxis: {
categories: [
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
'Oct', 'Nov', 'Dec'
]
},
series: [{
data: [
29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1,
95.6, 54.4
]
}]
});
let hasPlotLine = false;
document.getElementById('button').addEventListener('click', e => {
if (!hasPlotLine) {
chart.xAxis[0].addPlotLine({
value: 5.5,
color: 'red',
width: 2,
id: 'plot-line-1'
});
e.target.innerHTML = 'Remove plot line';
} else {
chart.xAxis[0].removePlotLine('plot-line-1');
e.target.innerHTML = 'Add plot line';
}
hasPlotLine = !hasPlotLine;
});