@jasen
To make a tooltip for a chart in d3.js, you can follow these steps:
1 2 3 4 |
<div id="tooltip" class="hidden"> <p><strong>Date:</strong> <span id="date"></span></p> <p><strong>Value:</strong> <span id="value"></span></p> </div> |
1 2 3 4 5 6 7 8 9 10 11 12 |
#tooltip { position: absolute; background: white; border: 1px solid #ccc; padding: 5px; border-radius: 5px; pointer-events: none; } .hidden { display: none; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Select the chart container var svg = d3.select("#chart"); // Add a mouseover event listener to show the tooltip svg.selectAll(".bar") .on("mouseover", function(d) { d3.select("#tooltip") .style("left", d3.event.pageX + "px") .style("top", d3.event.pageY + "px") .select("#date") .text(d.date); d3.select("#tooltip") .select("#value") .text(d.value); d3.select("#tooltip").classed("hidden", false); }) .on("mouseout", function() { d3.select("#tooltip").classed("hidden", true); }); |
Make sure to replace .bar
with the appropriate selector for your chart elements. This code will show a tooltip with the date and value of the data point when hovering over a chart element.