C3 图表填充在对数据类型使用变量时不起作用



我有一个我想填写的折线 C3 图表,m 但数据字段的名称不是固定的,我把它放在一个变量中。

因此,使用此处的示例,以下确实填充良好

        var chart = c3.generate({
        data: {
            x: 'x',
            columns: [
                ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'],
                ['data1', 30, 200, 100, 400, 150, 250],
            ],
             types : {
                  'data1': 'area'
                }
        },
        axis: {
            x: {
                type: 'timeseries',
                tick: {
                    format: '%Y-%m-%d'
                }
            }
        }
    });

但是,如果我只是将"data1"移动到变量,它就不再填充。

var val = 'data1';
var chart = c3.generate({
data: {
    x: 'x',
    columns: [
        ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'],
        ['data1', 30, 200, 100, 400, 150, 250],
    ],
     types : {
          val: 'area'  // <---- USING VARIABLE
        }
},
axis: {
    x: {
        type: 'timeseries',
        tick: {
            format: '%Y-%m-%d'
        }
    }
   }
   });

有没有人知道为什么这应该有任何不同,如果有解决方法?

提前感谢您的任何帮助

我想你的配置将使用"val"作为键而不是 val 的值。

解决方法:

var val = 'data1';
var conf = {
data: {
    x: 'x',
    columns: [
        ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'],
        [val, 30, 200, 100, 400, 150, 250],
    ],
    types : {}
},
axis: {
    x: {
        type: 'timeseries',
        tick: {
            format: '%Y-%m-%d'
        }
    }
   }
   }
conf.data.types[val] = 'area';
var chart = c3.generate(conf);

顺便说一句,您忘记更改另一个变量。

columns [ ..., ['data1',...]]

最新更新