Stock chart with GUI
author(s): Sebastian Bochan
by Sascha
HTML
<link rel="stylesheet" type="text/css" href="https://code.highcharts.com/css/stocktools/gui.css">
<link rel="stylesheet" type="text/css" href="https://code.highcharts.com/css/annotations/popup.css">
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/data.js"></script>
<div id="container" class="chart"></div>
CSS
#container {
max-height: 800px;
height: 75vh;
}
/* Conflict with Bootstrap, not needed after v7.0.1 */
.highcharts-bindings-wrapper * {
box-sizing: content-box;
}
JavaScript
Highcharts.getJSON('https://demo-live-data.highcharts.com/aapl-ohlcv.json', function(data) {
// split the data set into ohlc and volume
var ohlc = [],
volume = [],
dataLength = data.length,
i = 0;
for (i; i < dataLength; i += 1) {
ohlc.push([
data[i][0], // the date
data[i][1], // open
data[i][2], // high
data[i][3], // low
data[i][4] // close
]);
volume.push([
data[i][0], // the date
data[i][5] // the volume
]);
}
Highcharts.chart('container', {
yAxis: [{
labels: {
align: 'left'
},
}, {
labels: {
align: 'left'
},
offset: 0
}],
series: [{
type: 'line',
id: 'aapl-ohlc',
name: 'AAPL Stock Price',
data: ohlc
}, {
type: 'column',
id: 'aapl-volume',
name: 'AAPL Volume',
data: volume,
yAxis: 1
}],
responsive: {
rules: [{
condition: {
maxWidth: 800
},
chartOptions: {
rangeSelector: {
inputEnabled: false
}
}
}]
}
});
});