mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-06 20:29:12 +02:00
97 lines
1.8 KiB
HTML
97 lines
1.8 KiB
HTML
|
<!doctype html>
|
||
|
<html>
|
||
|
|
||
|
<head>
|
||
|
<title>Tooltip Interaction Modes</title>
|
||
|
<script src="../../dist/chart.min.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 id="container" style="width: 75%;">
|
||
|
<canvas id="chart"></canvas>
|
||
|
</div>
|
||
|
<script>
|
||
|
window.onload = function() {
|
||
|
Chart.Tooltip.positioners.middle = (items) => {
|
||
|
if (items.length !== 1) {
|
||
|
// For more than 1 item, just show at the nearest
|
||
|
return Chart.Tooltip.positioners.average(items);
|
||
|
}
|
||
|
|
||
|
const el = items[0].element;
|
||
|
let xPos = 0;
|
||
|
let yPos = 0;
|
||
|
|
||
|
if (el && el.hasValue()) {
|
||
|
const {
|
||
|
base,
|
||
|
horizontal,
|
||
|
x,
|
||
|
y
|
||
|
} = el.getProps();
|
||
|
if (horizontal) {
|
||
|
xPos = (base + x) / 2;
|
||
|
yPos = y;
|
||
|
} else {
|
||
|
xPos = x;
|
||
|
yPos = (base + y) / 2;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
x: xPos,
|
||
|
y: yPos
|
||
|
};
|
||
|
};
|
||
|
|
||
|
var canvas = document.getElementById('chart');
|
||
|
new Chart(canvas, {
|
||
|
type: 'bar',
|
||
|
data: {
|
||
|
labels: ['January', 'February', 'March', 'April'],
|
||
|
datasets: [{
|
||
|
label: 'My First dataset',
|
||
|
borderColor: window.chartColors.red,
|
||
|
backgroundColor: window.chartColors.red,
|
||
|
data: [1, 1, 1, 1],
|
||
|
}, {
|
||
|
label: 'My Second dataset',
|
||
|
borderColor: window.chartColors.blue,
|
||
|
backgroundColor: window.chartColors.blue,
|
||
|
data: [2, 4, 6, 8],
|
||
|
}]
|
||
|
},
|
||
|
options: {
|
||
|
responsive: true,
|
||
|
tooltips: {
|
||
|
position: 'middle',
|
||
|
intersect: false,
|
||
|
},
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
</script>
|
||
|
</body>
|
||
|
|
||
|
</html>
|