我已经从http://bl.ocks.org/tjdecke/5558084中提取了热图图表并进行了修改。我期望使用工具提示
cards.select("svg:title").text(function(d) {
return "Tariff " + d.value;
});
完整的项目在这里:https://jsfiddle.net/8wtoqg6r/1/。
如何获得一个悬停事件以在工具提示中显示关税编号(d.value
)?
答案 0 :(得分:0)
我现在根据示例https://github.com/Caged/d3-tip使用http://bl.ocks.org/Caged/6476579。相关代码看起来像这样
let tip = d3.tip()
.attr('class', 'd3-tip')
.offset([0, 0])
.html(function(d) {
return "Tarif " + d.value;
});
svg.call(tip);
let heatmapChart = function(data) {
let cards = svg.selectAll(".hour")
.data(data, function(d) {
return d.day + ':' + d.hour;
});
cards.append("title");
cards.enter().append("rect")
.attr("x", function(d) {
return (d.hour - 1) * gridSize;
})
.attr("y", function(d) {
return (d.day - 1) * gridSize;
})
.attr("rx", 4)
.attr("ry", 4)
.attr("class", "hour bordered")
.attr("width", gridSize)
.attr("height", gridSize)
.on('mouseover', tip.show)
.on('mouseout', tip.hide)
.style("fill", function(d) {
return colors[d.value - 1];
});
cards.exit().remove();
};
heatmapChart(data);
在提琴中可以找到完整的解决方案:https://jsfiddle.net/8wtoqg6r/3/