尝试将数组附加到highcharts(jquery)

时间:2015-03-22 09:54:39

标签: javascript jquery arrays highcharts

我在FIDDLE

中完成了所有编码

我对所有阵列保持警惕。市场[0],市场1,市场[2],市场[3],市场[4],市场[5],市场[6],市场[7]

他们正处于警戒状态。但是当我在Highcharts代码附近给出相同的数组时,数组没有被追加,并且值在图中显示为零。 为什么数组没有附加到高级代码?我完成了所有的编码,只留下高级图表。

我使用了区域堆积图表。 这是我的高级代码

 $('#container2').highcharts({
    chart: {
        type: 'area'
    },
    title: {
        text: 'molname'
    },
    subtitle: {
        text: 'Top Competitors'
    },
    xAxis: {
        categories: DATES[0],
        tickmarkPlacement: 'on',
        title: {
            enabled: false
        }
    },
    yAxis: {
        title: {
            text: 'Mkt Share'
        },
        labels: {
            formatter: function () {
                return this.value ;
            }
        }
    },
    tooltip: {
        shared: true,
        valueSuffix: ' millions'
    },
    plotOptions: {
        area: {
            stacking: 'normal',
            lineColor: '#666666',
            lineWidth: 1,
            marker: {
                lineWidth: 1,
                lineColor: '#666666'
            }
        }
    },
    series: [{
        name: mname0,
        data: MARKETS[0]
    }, {
        name: mname1,
        data: MARKETS[1]
    },
    {
        name: mname2,
        data: MARKETS[2]
    },
    {
        name: mname3,
        data: MARKETS[3]
    },
    {
        name: mname4,
        data: MARKETS[4]
    },
    {
        name: mname5,
        data: MARKETS[5]
    },
    {
        name: mname6,
        data: MARKETS[6]
    },  
    {
        name: mname7,
        data: MARKETS[7]
    }
        ]

任何人都可以帮帮我。

1 个答案:

答案 0 :(得分:0)

MARKET数组中的所有值都是字符串。它们必须转换为数字。在您的情况下,它们是浮点数,例如使用parseFloat函数。

例如更改为:

MARKETS[0].push(findDataForMonth(mname0, month) || 0.0);
// ...

收件人(JSFiddle example):

MARKETS[0].push(parseFloat(findDataForMonth(mname0, month)) || 0.0);
// ...

使用console.log代替alert可能更容易发现此类错误,因为您可以看到字符串和数字之间的差异。