我已经在开始及其工作中使用了设置标签,这是工作代码:

var chartDonut1 = c3.generate({
    data: {
        columns: [
            ['data1', 30],
            ['data2', 120],
        ],
        type : 'donut'
    },
    donut: {
        title: "title"
    }
});


但是,我想根据搜索更改甜甜圈上的标签,为此,我需要使用load函数。

编辑:
这是甜甜圈图和标题的示例:LINK

如何在加载时更改/设置标签?

我已经尝试过设置类似下面的代码,但是我无法使其工作:

chartDonut1.load({
    json: dataJsonGraph,
    donut: {
        title: 'title1',
    },
    bindto: '#chartDonut1'
});


任何建议都会很棒!

最佳答案

我认为bindto: '#chartDonut1'应该在generate函数中声明。

看来您无法在load函数内动态更改图的标题(在c3js文档中,没有对其的引用)。

您将需要使用d3实例选择图表,然后更改标题。例:

var label = d3.select('#chart2 text.c3-chart-arcs-title');
label.html(''); // remove existant text
label.insert('tspan').text('30').attr('dy', 0).attr('x', 0).attr('class','big-font');
label.insert('tspan').text('Test Data').attr('dy', 20).attr('x', 0);


更改它的方法是编辑html的代码:http://plnkr.co/edit/ew5dDA1R3biXnMp80LDd?p=preview

09-30 15:58
查看更多