You can do this by adding your own mouseover/mouseout events to the dots in the chart. I've added a .display-qux
span inside the chart div:
<div id="monthly-move-chart">
...
<span class="display-qux"></span>
</div>
but of course it could be somewhere else, this just makes it easy to select for this example.
Then add mouse events using the renderlet
event, which is fired after every render and every redraw:
.on('renderlet', function(chart) {
chart.selectAll('circle.dot')
.on('mouseover.foo', function(d) {
chart.select('.display-qux').text(dateFormat(d.data.key) + ': ' + d.data.value);
})
.on('mouseout.foo', function(d) {
chart.select('.display-qux').text('');
});
});
The .foo
is an event namespace, to avoid interfering with internal use of these events. You should probably use a word here that is relevant to what you're trying to do. Documentation on event namespaces is here.
Sample output:
The process is the same for adding events to the other charts, but for example, you would selectAll('rect.bar', ...
for bar charts, etc.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…