Applying extremes
by kzoon
HTML
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 500px"></div>
<button id="button" class="autocompare">Apply Y axis extremes</button>
JavaScript
const chart = Highcharts.chart('container', {
chart: {
type: 'line',
zoomType: 'y'
},
yAxis: {
max: 295,
events: {
afterSetExtremes: doAfterSetExtremes
}
},
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]
}]
});
var lbl;
const userMax = 226.82926829268294;
const userMin = 53.65853658536585;
function doAfterSetExtremes(e) {
if (lbl) {
lbl.destroy();
}
lbl = chart.renderer.label(
'dataMax: ' + e.dataMax + '<br/>' +
'dataMin: ' + e.dataMin + '<br/>' +
'max: ' + e.max + '<br/>' +
'min: ' + e.min + '<br/>' +
'userMax: ' + e.userMax + '<br/>' +
'userMin: ' + e.userMin + '<br/>',
100,
100
)
.attr({
fill: '#FCFFC5',
zIndex: 8
})
.add();
}
document.getElementById('button').addEventListener('click', e => {
chart.yAxis[0].setExtremes(userMin, userMax);
if (!chart.resetZoomButton) {
chart.showResetZoom();
}
});