Доступ к значениям данных в c3js в событиях данных

Я пытаюсь выяснить, есть ли способ получить доступ к значениям из 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/

1 ответ

Решение

После долгих испытаний разных вещей я, наконец, просто посмотрел на сам объект диаграммы и обнаружил свойство categories, Это заполняется, когда ось X объявляется типовой категорией, как в моем случае. Таким образом, чтобы получить данные от оси х, нужно вызвать .categories() функция.

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

При нажатии на полосу на графике будет возвращена соответствующая категория.

Другие вопросы по тегам