c3 - 在堆积条形图c3js中动态指定 "groups"

标签 c3

//以这段代码为例

这里我已经在组中指定了 yvalue[0],yvalue[1].. 但我需要一个通用设计,我不知道我必须创建的组数(即段数),这根据 json 数据而变化。

考虑这里的例子,我有total,total1,因此我只有2个值。但是如果第三个变量说total2在json中指定,我应该在我的条形图中有一个段,依此类推。这必须是每次添加字段时都无需更改组即可完成。有什么方法可以实现此目的吗?

谢谢

var datajson = [ {
country : "china",
total : 20,
total1 : 10
}, {
country : "India",
total : 40,
total1 : 20
}, {
country : "aus",
total : 10,
total1 : 30
}, {
country : "nxz",
total : 50,
total1 : 40
}

    ];

    var xvalue;
    var yvalue = [];
    var i = 0;

    var obj = datajson[0]
    for ( var key in obj) {
        if (xvalue === undefined)
            xvalue = key;
        else {
            yvalue[i] = key;
            i++;
        }

    }



    var chart = c3.generate({
        bindto : '#chart',
        data : {
            json : datajson,

            type : 'bar',
            keys : {
                x : xvalue, // it's possible to specify 'x' when category axis
                value : [yvalue[0],yvalue[1]],
            },
            groups : [ [yvalue[0],yvalue[1]] ]
        },
        bar : {
            width : {
                ratio : 0.3
            // this makes bar width 50% of length between ticks
            }
        },
        axis : {
            x : {
                type : 'category'

        },


        }
    });

最佳答案

您的问题似乎已经有了大部分答案(您已经从对象属性生成 yvalue 数组)。

不必一一指定元素,直接传入数组即可。

groups: [yvalue]

关于c3 - 在堆积条形图c3js中动态指定 "groups",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906670/

相关文章:

javascript - c3.js : How can I group by Year on the X-axis labels?

javascript - 如何在 c3js 中制作可重用/模板图表

javascript - 条形图列未在 D3/C3 中分组

javascript - 使用dojo触发窗口调整大小事件

javascript - C3 图表 - 工具提示的内容可点击

javascript - 如何使c3js中的轴刻度消失?

C3Js 图表 x 轴显示在图表之外

c3 - 线与轴之间的间隙为 C3

javascript - 使用 canvg 将 C3.js SVG 可视化到 Canvas - 折线图填充黑色矩形, "ERROR: Element ' parsererror' 尚未实现”

javascript - 如何在 Donut Legend 的 C3.js 中显示值?