tooltip = {
chart
const tooltip =
d3.select('body').append('div')
.attr('class', 'tooltip')
.style('position', 'absolute')
.style('visibility', 'hidden')
d3.selectAll("path")
.on("mouseover", function(d){
d3.select(this).transition()
.attr("stroke-width", d=> 1.3 * Math.sqrt(area(d["MP followers"])))
.attr("stroke-opacity", 1)
})
.on("mousemove", function(d){
return tooltip
.html(`\
<b>Name:</b> ${d.Name}<br />\
<b>MP followers:</b> ${d["MP followers"]}<br />\
<b>Con followers:</b> ${d["Con followers"]}<br />\
<b>Lab followers:</b> ${d["Lab followers"]}<br />\
<b>Click to see more info.</b><br />\
`)
.style("top", (d3.event.pageY-10)+"px")
.style("left",(d3.event.pageX+20)+"px")
.style("visibility", "visible");
})
.on("mouseout", function(d){
d3.select(this).transition()
.attr("stroke-width", d=> Math.sqrt(area(d["MP followers"])))
.attr("stroke-opacity", d=> opacity(d["MP followers"]))
return tooltip.html(``).style("visibility", "hidden");
})
.on("click", function(d) {
d3.select(this).transition()
window.open("https://twitter.com/"+d.Name);
})
}