Highcharts Demo
author(s):
Torstein Hønsi
HTML
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<div id="container"></div>
<button id="add" class="autocompare highcharts-demo-button">Add axis and series</button>
<button id="remove" disabled="disabled" class="autocompare highcharts-demo-button">Remove axis</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'
]
},
yAxis: {
title: {
text: 'Temperature'
},
lineWidth: 2,
lineColor: '#F33',
id: 'temperature-axis'
},
series: [{
name: 'Temperature',
data: [
7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6
],
color: '#F33'
}]
});
document.getElementById('add').addEventListener('click', e => {
chart.addAxis({ // Secondary yAxis
id: 'rainfall-axis',
title: {
text: 'Rainfall'
},
lineWidth: 2,
lineColor: '#08F',
opposite: true
});
chart.addSeries({
name: 'Rainfall',
type: 'column',
color: '#08F',
yAxis: 'rainfall-axis',
data: [
49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1,
95.6, 54.4
]
});
e.target.disabled = true;
document.getElementById('remove').disabled = false;
});
document.getElementById('remove').addEventListener('click', e => {
chart.get('temperature-axis').remove();
e.target.disabled = true;
document.getElementById('add').disabled = false;
});