Highcharts Stock Demo

author(s): Torstein Hønsi

by Neal

HTML

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

<script type="text/javascript" src="https://raw.github.com/highslide-software/highcharts.com/stock2/js/highstock.src.js"></script>
<script type="text/javascript" src="http://highcharts.com/samples/data/usdeur.js"></script>

JavaScript

var createChartTemplate = function() {
    return {
        chart: new Highcharts.StockChart({
            chart: {
                renderTo: 'container',
            },
            rangeSelector: {
                selected: 0
            },
            
            xAxis: {
                type: 'datetime',
                maxZoom: 3600000 // one hour
            },
            rangeSelector: {
                buttons: [{
                    type: 'minute',
                    count: 15,
                    text: '15m'
                }, {
                    type: 'hour',
                    count: 1,
                    text: '1h'
                }, {
                    type: 'all',
                    count: 1,
                    text: 'All'
                }],
                selected: 1,
                inputEnabled: false
           },
            series: [{
                name: 'nada',
                data: [null]
            }]
        }),
        addSeries: function(name) {
            this.chart.addSeries({
                name: name,
                data: [null]
            });
        },
        addPoint: function(data, series) {
            var seriesIndex = this.seriesExists(series);
            if (!(seriesIndex === false)) {
                this.chart.series[seriesIndex].addPoint(data, false);
            }
        },
        seriesExists: function(series) {
            var seriesIndex = false;
            $.each(this.chart.series, function(index, item) {
               // console.log(item.name, series);
                if ($.trim(item.name) == $.trim(series) 
                    || $.trim(item.name) == "nada") {
                    item.name = series;
                    seriesIndex = index;
                   // console.log('series index', index);
                    return false;
                }
            });
            return seriesIndex;
        }
    }
}
$(function() {
    var data = usdeur.splice(0, 500);
    var chart =...