Highcharts Demo
author(s):
Øystein Moseng
HTML
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/offline-exporting.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>
<div id="container"></div>
CSS
#container {
max-width: 800px;
height: 400px;
margin: 1em auto;
}
JavaScript
const nav = Highcharts.win.navigator,
isMSBrowser = /Edge\/|Trident\/|MSIE /.test(nav.userAgent),
isOldEdgeBrowser = /Edge\/\d+/.test(nav.userAgent),
containerEl = document.getElementById('container'),
parentEl = containerEl.parentNode;
function addText(text) {
const heading = document.createElement('h2');
heading.innerHTML = text;
parentEl.appendChild(heading);
}
function fallbackHandler(options) {
if (
options.type !== 'image/svg+xml' && isOldEdgeBrowser ||
options.type === 'application/pdf' && isMSBrowser
) {
addText(options.type + ' fell back on purpose');
} else {
throw 'Should not have to fall back for this combination. ' +
options.type;
}
}
Highcharts.chart('container', {
exporting: {
chartOptions: { // specific options for the exported image
plotOptions: {
series: {
dataLabels: {
enabled: true
}
}
}
},
sourceWidth: 400,
sourceHeight: 300,
scale: 1,
libURL: 'https://code.highcharts.com/lib/',
fallbackToExportServer: false,
error: fallbackHandler,
buttons: {
contextButton: {
menuItems: [
'viewFullscreen',
'printChart',
'separator',
'downloadPNG',
'downloadJPEG',
'downloadSVG',
'downloadPDF'
]
}
}
},
title: {
text: 'Offline export'
},
subtitle: {
text: 'Click the button to download as PNG, JPEG, SVG or PDF'
},
chart: {
type: 'area'
},
xAxis: {
categories: [
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
]
},
series: [{
data:...