4

我试图弄清楚,是否有办法从事件中的Company数据数组中访问值onclick。到目前为止,api我只使用了Users数组。

var chartCompany = c3.generate({
    bindto: '#users-chart',        
    data: {
        x: 'Company',
        url: '/ajax_call',
        mimeType: 'json',
        type: 'bar',
        axes: {
            Company: 'x'
        },
        onclick: function (d, i) { console.log(chartCompany.data()); }
    },
    axis: {
        x: {
            type: 'category',
             show: false
        },
    }
});

以及来自服务器的 json 响应:

{
 "Company": ["Company 1", "Company 2", "Company 2"],
 "Users"  : [10, 20, 30]
}

任何帮助/想法将不胜感激。

[编辑 1] 详细说明我的问题:当单击来自用户的数据(显示为条形)时,我想获得相应的公司。

[编辑 2] 工作静态示例:http: //jsfiddle.net/et37a9t2/

4

1 回答 1

6

在尝试了很多不同的东西之后,我终于只是查看了图表对象本身并发现了一个属性categories。这是填充的,当 x 轴被声明为类型类别时,就像我的情况一样。因此,要从 x 轴获取数据,需要调用该.categories()函数。

        ...
        },
        onclick: function (d, i) { console.log(chartCompany.categories()[d.index]); }
    },
    ...

单击图表中的条形时,将返回相应的类别。

于 2015-05-29T00:05:29.800 回答