【问题标题】:Accessing data values in c3js in data events在数据事件中访问 c​​3js 中的数据值
【发布时间】:2015-08-10 13:09:03
【问题描述】:

我试图弄清楚,是否有一种方法可以访问 onclick 事件中 Company 数据数组中的值。到目前为止,使用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/

【问题讨论】:

  • 我很乐意为您提供帮助,但是您能否在没有 ajax 调用的情况下将您的图表放在一起,只是一个独立版本?
  • 我举了一个工作示例:jsfiddle.net/et37a9t2

标签: javascript json d3.js c3.js c3


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    相关资源
    最近更新 更多