2015-05-28 73 views
3

我想弄清楚,如果有辦法訪問onclick事件中Company數據數組中的值。到目前爲止,使用api函數我只能到Users陣列。在數據事件中訪問c3js中的數據值

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/

+0

我很樂意提供幫助,但是您可以在沒有ajax調用的情況下將圖表的小提琴放在一起,只是一個獨立的版本? – Sean

+0

我舉了一個實例:http://jsfiddle.net/et37a9t2/ – stefita

回答

5

了很多嘗試不同的事情後,我終於只是看着圖表對象本身,並發現了一個屬性categories。這是填充,當x軸被聲明爲類型的類別,因爲它在我的情況。因此,要從x軸獲取數據,需要調用.categories()函數。

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

單擊圖表中的一個條時,將返回相應的類別。