javascript - c3JS加载函数

标签 javascript d3.js c3.js

  1. 我正在制作如下所示的 c3js 图表:

    var chart = c3.generate({
        bindto: '#chart',
        data: {
        columns: []
        }
    });
    
  2. 然后我尝试使用它的 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/

相关文章:

javascript - Firebase 云消息传递仅适用于本地主机

javascript - Tron 游戏关键事件问题

javascript - Qtip2 从互联网加载 "jquery.qtip.min.map"并减慢站点速度

javascript - 使用图表师在条形图中的图例对齐

geospatial - 缩放 d3.js 投影

javascript - Bootstrap 4 Accordion 卡的C3图形溢出

javascript - 如何显示 d3.js 美国 map ,其中包含指向它的州之外的某个州名称

javascript - 如何在没有父/子数据结构的情况下可视化关系?

javascript - 带有外部 json 数据的 C3.js 分组条形图

javascript - C3.js 中的线超出图表区域