【问题标题】:Highstock, error: Uncaught TypeError: w[(intermediate value)(intermediate value)(intermediate value)] is not a constructorHighstock,错误:未捕获类型错误:w[(中间值)(中间值)(中间值)]不是构造函数
【发布时间】:2016-08-20 02:47:20
【问题描述】:

我正在尝试创建 highstock 图表,但出现以下错误:

error: Uncaught TypeError: w[(intermediate value)(intermediate value)(intermediate value)] 不是构造函数

我的 JSON 似乎有效,我的 javascript 也有效,知道如何解决这个问题吗?

Javascript:

    $.getJSON('<?php echo SITE_URL; ?>analytic/weekly_views_json', function(data) 
    {
       // Create the chart
        $('#container2').highcharts('StockChart', {

            rangeSelector: {
                selected: 1
            },

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

            series: [{
                name: 'AAPL Stock Price',
                data: data,
                type: 'spline',

            }]
        });
    });

json:

[[1420547368,1],[1423225768,1],[1425644968,1],[1428319768,1],[1430911768,1],[1433590168,1],[1452083368,1],[1454761768,1],[1457267368,1],[1458131368,1],[1459942168,1],[1494070168,1]]

【问题讨论】:

  • 时间戳看起来像 UNIX 格式,但要乘以 1000 才能达到 JS 格式。你有你的图表的现场演示,因为你的代码是正确的。
  • 你提供的代码似乎可以工作jsfiddle.net/o079d5s6/2你能创建一个小提琴来演示这个问题吗?
  • @YuryTarabanko 我完全使用了 highchart 示例,但出现了上述错误! jsfiddle highchart example
  • @randommman 你能找到解决办法吗?

标签: javascript jquery highcharts highstock


【解决方案1】:

第一个解决方案:

我遇到了同样的错误,我在HTML 代码中使用了highchart,如下所示:

<head>
<script src="https://code.highcharts.com/highcharts.js"></script>
...
</head>

而我的js 代码是:

$('#container').highcharts('StockChart', {
...
});

对于highchart documention,我们必须使用Highcharts.Chart来创建新的highstock。 所以我将代码更改为:

<head>
<script src="https://code.highcharts.com/highcharts.js"></script>
...
</head>

而我的js 代码是:

var chart = new Highcharts.Chart({
        chart: {
                renderTo: 'container'
            },
...
});

这个错误已经解决了!

第二种解决方案:

同样关于this documentation,如果你同时运行Chart和StockChart,你只需要加载highstock.js文件。

所以将我的代码更改为:

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

而我的js 代码是:

var chart = new Highcharts.Chart({
        chart: {
                renderTo: 'container'
            },
...
});

【讨论】:

    【解决方案2】:

    这对我有用

    <script src="../lib/highcharts.js"/>
    <script src="../lib/highcharts-more.js"/>
    
     var chart = new Highcharts.Chart({
                        chart: {
                            renderTo: 'Temperature'
                        },
                        title: {
                            text: 'HighStock'
                        },
                        legend: {
                            enabled: true
                        },
                        xAxis: {
                            categories: ['1','2','3','4'],
                            title: {
                                text: 'day'
                            }
                        },
                        yAxis: {
                            title: {
                                text: 'values'
                            }
                        },
                        series: [{
                            name: 'temperature',
                            data: [
                                [5,30],[10,35],[15,40],[20,45]
                            ],
                        }]
                    });
    

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-08
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 2017-08-02
      相关资源
      最近更新 更多