Highcharts Demo
author(s):
Torstein Hønsi
HTML
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<div id="container" style="height: 400px; min-width: 310px"></div>
<button id="line">Line</button>
<button id="column">column</button>
JavaScript
/**
* Custom events v2.0.13 (2017-03-27)
*
* (c) 2012-2016 Black Label
*
* License: Creative Commons Attribution (CC)
*/
/* global Highcharts setTimeout clearTimeout module:true */
/* eslint no-loop-func: 0 */
/**
* @namespace customEvents
**/
(function (factory) {
if (typeof module === 'object' && module.exports) {
module.exports = factory;
} else {
factory(Highcharts);
}
}(function (HC) {
/* global Highcharts :true, window */
'use strict';
var UNDEFINED,
DBLCLICK = 'dblclick',
TOUCHSTART = 'touchstart',
CLICK = 'click',
each = HC.each,
pick = HC.pick,
wrap = HC.wrap,
merge = HC.merge,
addEvent = HC.addEvent,
isTouchDevice = HC.isTouchDevice,
isObject = HC.isObject,
defaultOptions = HC.getOptions().plotOptions,
axisProto = HC.Axis && HC.Axis.prototype,
plotLineOrBandProto = HC.PlotLineOrBand && HC.PlotLineOrBand.prototype,
seriesTypes = HC.seriesTypes,
seriesProto = HC.Series && HC.Series.prototype,
customEvents,
proto,
methods;
/**
* @memberof customEvents
* @returns {Boolean} true if object is array
**/
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
/**
* WRAPPED FUNCTIONS
*/
// reset exis events
if (plotLineOrBandProto) { // # condition for highmaps and custom builds
wrap(plotLineOrBandProto, 'render', function (proceed) {
var defaultEvents = this.options && this.options.events;
// reset default events on plot lines or bands
if (defaultEvents) {
defaultEvents = false;
}
return proceed.apply(this, Array.prototype.slice.call(arguments, 1));
});
}
if (seriesProto) { // # condition for highmaps and custom builds
wrap(seriesProto, 'init', function (proceed, chart, options) {
var chartOptions = chart.options,
plotOptions = chartOptions.plotOptions,
seriesOptions = chartOptions.plotOptions.series,
userOptions = merge(seriesOptions, plotOptions[this.type], options); // Fixed #70
// reset default...