Highcharts Stock Demo

author(s): Torstein Hønsi

by martyk

HTML

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

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script>

CSS

</style>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" />
<style type="text/css">

JavaScript

$(function() {

    $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function(data) {
        // Create the chart
        window.chart = new Highcharts.StockChart({
            chart : {
                renderTo : 'container'
            },

            rangeSelector : {
                selected : 1,
                inputDateFormat: '%Y-%m-%d',
                inputEditDateFormat: '%Y-%m-%d'
            },

            title : {
                text : 'AAPL Stock Price'
            },
            
            series : [{
                name : 'AAPL',
                data : data,
                tooltip: {
                    valueDecimals: 2
                }
            }]
            
        }, function(chart){

            // apply the date pickers
            setTimeout(function(){
                $('input.highcharts-range-selector', $('#'+chart.options.chart.renderTo))
                .datepicker({
                    beforeShow: function(i,obj) {
                        $widget = obj.dpDiv;
                        window.$uiDatepickerDiv = $widget;
                        if ($widget.data("top")) {
                            setTimeout(function() {
                                $uiDatepickerDiv.css( "top", $uiDatepickerDiv.data("top") );
                            },50);
                        }
                    }
                    ,onClose: function(i,obj) {
                        $widget = obj.dpDiv;
                        $widget.data("top", $widget.position().top);
                    }
                })
            },0)
        });
    });
    
    
    // Set the datepicker's date format
    $.datepicker.setDefaults({
        dateFormat: 'yy-mm-dd',
        onSelect: function(dateText) {
            this.onchange();
            this.onblur();
        }
    });

});