У меня есть проект d3, где я создал гистограмму.У меня есть несколько баров, и я хочу, чтобы данные отображались при наведении указателя мыши на определенный столбец.Однако по какой-то причине он не отображает содержимое, несмотря на наличие данных и CSS.Я создал элементы rects в виде столбцов и элемент div с классом всплывающей подсказки, включающей данные.Пожалуйста помоги.
Вот мой код:
chart.selectAll("rect")
.data(json.data)
.enter()
.append("rect")
.attr("x", (d) => xScale(parseDate(formatDate(d[0]))))
.attr("y", (d) => yScale(d[1]))
.attr("height", (d) => height - yScale(d[1]))
.attr("width", xScale.bandwidth())
.attr("class", "rect-col")
.append("div")
.attr("class", "tooltip")
.text((d) => d[0] + d[1])
.on("mouseenter", function (d, i) {
//d3.select(this).style("fill", "#EE9A2F");
d3.select(this).style("visibility", "visible");
})
.on("mouseleave", function (d, i) {
//d3.select(this).style("fill", "#EECF10");
d3.select(this).style("visibility", "visible");
});
мой css:
.tooltip {
text-align: center;
width: 60px;
height: 28px;
padding: 2px;
font: 12px sans-serif;
background: green;
border: 0px;
border-radius: 8px;
pointer-events: none;
color: red;
visibility: hidden;
}
ссылка на мой кодовый блок codepen