UNPKG

chart.js

Version:

Simple HTML5 charts using the canvas element.

126 lines (118 loc) 2.47 kB
<!doctype html> <html> <head> <title>Tooltip Interaction Modes</title> <script src="../../dist/Chart.bundle.js"></script> <script src="../utils.js"></script> <style> canvas { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; } .chart-container { width: 500px; margin-left: 40px; margin-right: 40px; margin-bottom: 40px; } .container { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; } </style> </head> <body> <div class="container"> </div> <script> function createConfig(mode, intersect) { return { type: 'line', data: { labels: ["January", "February", "March", "April", "May", "June", "July"], datasets: [{ label: "My First dataset", borderColor: window.chartColors.red, backgroundColor: window.chartColors.red, data: [10, 30, 46, 2, 8, 50, 0], fill: false, }, { label: "My Second dataset", borderColor: window.chartColors.blue, backgroundColor: window.chartColors.blue, data: [7, 49, 46, 13, 25, 30, 22], fill: false, }] }, options: { responsive: true, title:{ display: true, text: 'Mode: ' + mode + ', intersect = ' + intersect }, tooltips: { mode: mode, intersect: intersect, }, hover: { mode: mode, intersect: intersect }, } }; } window.onload = function() { var container = document.querySelector('.container'); [{ mode: 'index', intersect: true, }, { mode: 'index', intersect: false, }, { mode: 'dataset', intersect: true, }, { mode: 'dataset', intersect: false, }, { mode: 'point', intersect: true, }, { mode: 'point', intersect: false, }, { mode: 'nearest', intersect: true, }, { mode: 'nearest', intersect: false, }, { mode: 'x', intersect: true }, { mode: 'x', intersect: false }, { mode: 'y', intersect: true }, { mode: 'y', intersect: false }].forEach(function(details) { var div = document.createElement('div'); div.classList.add('chart-container'); var canvas = document.createElement('canvas'); div.appendChild(canvas); container.appendChild(div); var ctx = canvas.getContext('2d'); var config = createConfig(details.mode, details.intersect); new Chart(ctx, config); }) }; </script> </body> </html>