【问题标题】:Highchart.js drilldown adding to data dynamicaly without hardcoding.Highchart.js 向下钻取动态添加数据,无需硬编码。
【发布时间】:2015-07-22 17:34:25
【问题描述】:

我想将一个完全填充的数组或键值配对对象添加到向下钻取数据部分,但是当我这样做时,它要么只显示数组中的第一个值,要么根本不显示任何信息。

有没有一种方法可以在不对值进行硬编码的情况下填充此数据部分?

以下是我尝试使用键值对的代码的简短部分,我省略了大部分原始 hightchart 饼图代码,如果需要,将发布其余部分。

var pieChart = function (userTypes) {
// Create the chart
console.log('pieChart');
var array_keys = new Array();
var array_values = new Array();

for (var key in userTypes) {
    array_keys.push(key);
    array_values.push(userTypes[key]);
}

....
adminNames ={}
for(i =0; i<array_values.length;i++){   
    if(array_values[i]== "admin"){
        admin =admin +1;
        adminNames[array_keys[i]]=i;
    }

....
 drilldown: {
        series: [{
            name: "Admin",
            id: "Admin",

            data: [
                  adminNames
            ]
        },.....

【问题讨论】:

    标签: javascript arrays highcharts drilldown keyvaluepair


    【解决方案1】:

    以编程方式填充向下钻取数组应该可以正常工作,但 Highcharts 期望数据属性是数组数组,see example in documentation

    data: [
        ['Cats', 4],
        ['Dogs', 2],
        ['Cows', 1],
        ['Sheep', 2],
        ['Pigs', 1]
    ]
    

    您的代码将其初始化为一个包含一个元素的数组,该元素是一个关联数组 - 如下所示:

    data: [
      { 
        'Cats': 4,
        'Dogs': 2,
        'Cows': 1,
        'Sheep': 2,
        'Pigs': 1
      }
    ]
    

    此外,填充 adminNames 的逻辑有点混乱,但如果不知道它应该做什么就很难说。

    【讨论】:

    • 感谢您的回复。不知道我怎么错过了 highcharts 页面中的异步深入演示。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多