在 Mike Bostock 的立体主义演示 ( http://bost.ocks.org/mike/cubism/intro/demo-stocks.html ) 中,有一个光标显示所有水平线图表的值。此外,光标文本显示时间轴时间点。当光标文本遮住轴标签时,标签会消失。
我正在使用 d3.js(但不是立体主义)进行类似的显示。除了淡入淡出部分,我所有的工作都完成了。我已经在开发人员窗口中搜索了 CSS,搜索了源代码(尽我所能),但我不明白使用什么魔法来完成这一壮举。我什至查看了 SO“轴标签转换”问题,但我未能连接 xaxis 标签转换上的点。
当被文本遮挡时,它是如何淡入/淡出的?
更新:我想我找到了发生这种情况的事件脚本区域 - 目前它只是在我的头上 - 任何人都可以帮助我破译这个事件监听器在做什么?具体来说,在下面 else 子句的第二个 g.selectAll 中 - 这里使用了什么数据 (d)?是什么导致此事件触发?
这是显示中最酷的部分(在地平线图之外),我很想弄清楚这一点......
context.on("focus.axis-" + id, function(i) {
if (tick) {
if (i == null) {
tick.style("display", "none");
g.selectAll("text").style("fill-opacity", null);
} else {
tick.style("display", null).attr("x", i).text(format(scale.invert(i)));
var dx = tick.node().getComputedTextLength() + 6;
g.selectAll("text").style("fill-opacity", function(d) { return Math.abs(scale(d) - i) < dx ? 0 : 1; });
}
}
});