stockChart未定义(...)

时间:2016-11-04 14:55:01

标签: javascript jquery highcharts

我想使用highstock但我似乎无法让它工作......我的代码:

$(function () {
    $.getJSON('https://www.highcharts.com/samples/data/jsonp.php?filename=aapl-v.json&callback=?', function (data) {

        // create the chart
        var options = {
            chart: {
                alignTicks: false,
                renderTo: 'container'
            },

            rangeSelector: {
                selected: 1
            },

            title: {
                text: 'AAPL Stock Volume'
            },

            series: [{
                type: 'column',
                name: 'AAPL Stock Volume',
                data: data,
                dataGrouping: {
                    units: [[
                        'week', // unit name
                        [1] // allowed multiples
                    ], [
                        'month',
                        [1, 2, 3, 4, 6]
                    ]]
                }
            }]
        };

    });
    var chart = new stockChart(options);
});

浏览器没有显示任何内容,如果我去查看错误;

  

stockChart未定义(...)

我也尝试过这个JSFiddle的代码,但它也没有用。所以我尝试使用这些选项,但这并不起作用。有人可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

您需要在初始化脚本之前添加HighStock JavaScript库:

<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>

或者,如小提琴中给出的那样,您可以使用它来初始化:

chart = Highcharts.stockChart('container', options);

答案 1 :(得分:1)

您使用关键字&#34; new&#34;将函数stockChart作为构造函数调用。你得到&#34;的原因是没有定义错误&#34;是因为在你的代码中,无法找到stockChart函数!

创建一个写

    var stockChart = function(opt){
      this.someproperty = "hello there im a stockchart"
    };

使用此功能,您可以随后使用&#34; new&#34; stockChart

    var my_stockchart = new stockChart();

现在,您可以使用新创建的my_stockchart对象并调用其方法。在你的控制台中试试吧。

   my_stockchart.someproperty 

   returns => "hello there im a stockchart"

现在,如果你想要快速而肮脏的答案,我猜其他人也能帮助你。所以基本上它归结为你正在调用一个尚未在你的代码中定义的函数。希望这会有所帮助。

答案 2 :(得分:0)

使用Delete from Tab1 where TRUNC(CREATED_TS) <= TRUNC(ADD_MONTHS(SYSDATE,-3)) var replace = { a: 4, e: 3, i: 1, o: 0 }; var input = "apples are awesome"; var txt = input.split('').reduce(function (a,b) { var rep = replace[b]; return a + (rep !== undefined ? rep : b); },''); console.log(txt);

此外,您在收到数据之前创建一个新图表(get.json异步工作),并尝试访问在不同范围内定义的Highcharts.stockChart

new Highcharts.StockChart