繁体   English   中英

在HighCharts的条形图中显示数组值

[英]Displaying array values in Bar chart of HighCharts

我正在尝试显示动态获取的值。 在下面的代码中我试图将值存储在数组中,我试图使用“series:data”中的数组值。 图表中没有显示任何内容。 我知道这是一个非常简单的问题,但当我用Google搜索时,我没有得到任何满意的答案。 请帮忙

var x = window.location.search.replace( "?", "" );
        x = x.substring(3);
        var array = x.split(",");  // I am storing my dynamic values in  this array


$(function () {
        //alert(array);   ----- I am able to see the values here 
        $('#container').highcharts({
            chart: {
                type: 'bar'
            },
            title: {
                text: 'Wireless Experience Meter'
            },
            subtitle: {
                text: 'Sub - Time to Download'
            },
            xAxis: {
                categories: ['Text'],
                title: {
                    text: null
                }
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Time (ms)',
                    align: 'high'
                },
                labels: {
                    overflow: 'justify'
                }
            },
            tooltip: {
                valueSuffix: ' ms'
            },
            plotOptions: {
                bar: {
                    dataLabels: {
                        enabled: true
                    }
                }
            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'top',
                x: -40,
                y: 100,
                floating: true,
                borderWidth: 1,
                backgroundColor: '#FFFFFF',
                shadow: true
            },
            credits: {
                enabled: false
            },
            series: [{
                name: 'Attempt 1',
                //data: [635, 203, 200] 
                data : [array[0]]   // I need to pass the variables here to get it displayed 
            }, {
                name: 'Attempt 2',
                //data: [133, 408, 698]
                data : [array[1]]
            }, {
                name: 'Attempt 3',
                //data: [973, 914, 4054]
                data : [array[2]]
            }]
        });
    });

你没有告诉我们变量array是什么等于但是因为它是从x.split(",") ,所以它的元素将是字符串而不是Highcharts需要的数值。

所以用parseIntparseFloat转换它:

var numericData = [];
for (var i = 0; i < array.length; i++){
   numericData.push(parseFloat(array[i]));
}
...
series: [{
   name: 'Attempt 1',
   data : numericData 
},
...

[array[0]]不是一个数组,看起来像console输出而不是javascript。 [[0]][0]技术上会是。 但是,由于对数组( array(0) )的调用会生成一个数组,所以我认为你需要data: array(0)

如果没有正确显示示例数据,则在data : [array(0)]外部拍摄data : [array(0)] 我从来没有使用过HighCharts所以我不知道它的预期但是我仍然使用data : array(0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM