前提・実現したいこと
Chart.jsを使用して散布図を作成したい。
Chart.jsで作成した散布図のデータ一部をcanvas上から見えなくしたい(ボタンなどで切り替え)のですが、hidden属性を設定してもイメージの動作にならずアドバイスをいただきたいです。
hidden属性には配列を収めることはできないのでしょうか?
該当のソースコード
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <canvas id="myChart"></canvas> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"></script> <script src="https://cdn.jsdelivr.net/npm/moment@2.24.0/min/moment.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script> <script src="https://cdn.jsdelivr.net/npm/hammerjs@2.0.8"></script> <script> var myChart; myChart = new Chart(document.getElementById('myChart').getContext('2d'), { type: 'scatter', data: { datasets: [{ label: 'Scatter Dataset', data: { datasets:[{ label: 'data A', data: [{ x: 10, y: 20 },{ x: 15, y: 10 },{ x: 10, y: 10 }], hidden: false <!-- 理想は hidden: [true, false, true] のような指定方法--> },{ label: 'data B', data: [{ x: 8, y: 11 }, { x: 6, y: 6 }, { x: 12, y: 10 }], hidden: false <!-- 理想は hidden: [false, true, false] のような指定方法--> }] } }] }, options: { scales: { xAxes: [{ type: 'linear', position: 'bottom' }] }, onHover: function(e){ var item = myChart.getElementAtEvent(e1759248); if (item.lengh && item[0]['_option'].radius != 0){ } } } }); </script> </body> </html>
試したこと
プロット自体のサイズを0にすれば見えなくはなりますが、onHoverは反応してしまいます。
onHoverの関数内でradius == 0を除外対象としましたが依然としてなぜか反応してしまいます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。