Chart.js - にほんご。

Events

更新日: 2018-09-03

以下のプロパティは、イベントによって、チャートがどのように作用するかを定義します。

名称type初期値説明
eventsstring[]["mousemove", "mouseout", "click", "touchstart", "touchmove", "touchend"]eventsはツールチップとhoverに指定するイベントを定義します。
onHoverfuntionnull任意のイベントが発火した時に呼び出されます。 チャートのコンテキストで呼び出され、イベントと、アクティブな要素の配列(bar、points等)が渡されます。
onClickfunctionnullイベントがmouseupまたは、clickの場合に呼び出されます。 チャートのコンテキストで呼び出され、イベントと、アクティブな要素の配列(bar、points等)が渡されます。

イベントオプション

例えば、クリックだけに反応するチャートは以下の通りです。

var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        // このチャートはマウス移動等には反応しません。
        events: ['click']
    }
});

デモ

バーをクリックすると、ツールチップを表示し、 クリックしたバーの色をconsole.logに出力します。

JavaScript
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        },
        events: ['click'],
        onHover: function(e, el) {
            if (! el || el.length === 0) return;
            console.log('onHover : label ' + el[0]._model.label);
        },
        onClick: function (e, el) {
            if (! el || el.length === 0) return;
            console.log('onClick : label ' + el[0]._model.label);
        }
    }
});
HTML
<canvas id="myChart"></canvas>

© 2013 Chart.js is available under the MIT license

このコンテンツはChart.jsドキュメントを翻訳/改変したものです。