我正在制作如下所示的 c3js 图表:
var chart = c3.generate({ bindto: '#chart', data: { columns: [] } });
然后我尝试使用它的 api 中的加载函数:
var data = [["Name", "15", "30", "45"], ["x", "1", "2", "3"]]; function update_graph(arg) { var tmp = arg[0][1]; chart.load({ xs: { tmp : arg[1][0] //binding data to x here and getting an error }, columns: [ arg[0], arg[1] ], }); } update_graph(data);
我收到:未捕获错误:x 未为 id =“Name”定义。
如果我在 xs 部分设置:名称:arg[1][0] - 它确实有效。但是这样我将无法使用此函数从不同的数组中绘制不同的线。我究竟做错了什么 ?谢谢。
最佳答案
使设置键/值成为“arg”二维数组通用的工作代码:- jsFiddle
解决方案是首先构造 xs 对象,例如:-
var xs = {};
xs[arg[0][0]] = arg[1][0];
xs[arg[2][0]] = arg[3][0];
然后在chart.load函数中使用xs对象,例如:-
chart.load({
xs: xs,
columns: [
arg[0],
arg[1],
arg[2],
arg[3],
],
});
请注意,xs 对象中的键未硬编码为“Name”或“Age”字符串。 希望这对您有用。
关于javascript - c3JS加载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27841944/