2017-10-09 59 views
-1

我有一個用chart.js創建的stackedBar圖表,數據集充滿了來自具有對象列表的對象的數據,並且這些對象列表是數據。現在我想要做的是,我想單擊疊加欄並在新視圖中顯示對象(數據)的列表。 如何通過點擊獲取這些數據?使圖表js堆疊欄可點擊

function Person(id, name, orders){ 
    this.id = id; 
    this.name = name; 
    this.orders = orders; 
} 

function Order (name, nextProofDate){ 
    this.name = name; 
    this.nextProofDate = nextProofDate; 
}' 

的人是在數據集和順序數據

回答

0

我有一個公平的更遠一些比你有,但我也有與charts.js的問題(我無法映射欄到原始數據塊)我的解決方案是設置畫布所在元素的onClick。

<div onclick="GraphClick"> 
    <canvas id="ThisGraph"></canvas> 
</div> 

<script type="text/javascript"> 
    var ctx = document.getElementById("ThisGraph").getContext('2d'); 
    var myChart = new Chart(ctx).Bar({datasets: [{label: 'A', data: [12, 19], fillColor: '#ff0000' },{label: 'B', data: [11, 4], fillColor:'#0000ff' }], labels: ["One", "two"]}, {}) 
    function GraphClick(evt){ 
    var aPartsAt = myChart.getBarsAtEvent(evt); 
    if (aPartsAt[0]) alert (aPartsAt[0].value); 
    } 
</script>