Highcharts Stock Demo

author(s): Torstein Hønsi

by gevgeny

HTML

<div id="container" style="height: 400px; min-width: 600px"></div>

<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script>
<script type="text/javascript" src="http://www.highcharts.com/samples/data/three-series-1000-points.js"></script>

JavaScript

// Plugin code 
(function (Highcharts) {

    Highcharts.wrap(Highcharts.Tooltip.prototype, 'hide', function (proceed) {
        var tooltip = this.chart.options.tooltip;

        // Run the original proceed method
        proceed.apply(this, Array.prototype.slice.call(arguments, 1));

        if (!this.isHidden && tooltip.events && tooltip.events.hide) {
            tooltip.events.hide();
        }
    });

    Highcharts.wrap(Highcharts.Tooltip.prototype, 'refresh', function (proceed) {
        var tooltip = this.chart.options.tooltip;

        // Run the original proceed method
        proceed.apply(this, Array.prototype.slice.call(arguments, 1));

        if (tooltip.events && tooltip.events.show) {
            tooltip.events.show(this.chart.hoverPoints);
        }
    });

}(Highcharts));

// Example code

$(function () {
    $('#container').highcharts('StockChart', {

        tooltip: {
            events: {
                show: function (points) {
                    console.log('show', points);
                },
                hide: function () {
                    console.log('hide');
                }
            }
        },
        rangeSelector: {
            selected: 1
        },

        series: [{
            name: 'ADBE',
            data: ADBE
        }, {
            name: 'MSFT',
            data: MSFT
        }]
    });
});