如果我使用以下方法创建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
等)?
答案 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);
}
}
注意检查图表是否已经堆叠的行 - 对图表应用分组重新渲染它,再次触发此回调(防止无限循环)。