使用C3.js,当通过URL / JSON加载数据时,有没有办法在数据中包含组?

时间:2016-06-01 18:26:58

标签: c3.js

如果我使用以下方法创建C3.js图表​​:

var chart = c3.generate({ bindto: '#my-chart-div', data: { url: '/data/data.json', mimeType: 'json', type: 'area', groups: [ ['thing1', 'thing2', 'thing3'] ] }, });

有没有办法让我在URL加载的JSON数据中包含分组(thing1等)?

1 个答案:

答案 0 :(得分:0)

我无法找到在JSON数据中包含群组的方法。

我发现最好的解决方法是使用onrendered callback,在回调中,从图表本身检索数据标题,然后使用groups将它们应用于您想要的分组中:

onrendered: function () {
  if ( $('#chart-div').data('stacked') != true ) {
    chart.groups( [ chart.data().map(function(x){return x.id}) ]);
    $('#chart-div').data('stacked', true);
  }
}

注意检查图表是否已经堆叠的行 - 对图表应用分组重新渲染它,再次触发此回调(防止无限循环)。