【发布时间】:2015-05-14 22:36:37
【问题描述】:
卡在重叠的标签上。举例说明:JSFIDDLE
- 单击文本标签“A 组”。缩放过渡后, A 组标签仍然与小圆圈的标签重叠。
- 点击其他地方缩小。
- 再次单击“A 组”。这次标签没有保留,所以 没有重叠。所以它似乎会在一段时间后自行修复。
我不希望在第一次单击某些内容时发生重叠。我该怎么做呢?我不想截断标签或重新定位标签。
我一直在摆弄这一点,但到目前为止没有运气。
transition.selectAll("text")
.filter(function(d) { return d.parent === focus || this.style.display === "inline"; })
.style("fill-opacity", function(d) { return d.parent === focus ? 1 : 0; })
.each("start", function(d) { if (d.parent === focus) this.style.display = "inline"; })
.each("end", function(d) { if (d.parent !== focus) this.style.display = "none"; });
仅供参考,如果第一次点击是在中等圆圈上,也会发生这种情况。
This post gets close,通过说它可以使用包输出来限制可见性,但没有说明如何实现它。
所以基本上我正在尝试做这样的事情:“如果放大到中等或小圆圈的水平,不要显示中等圆圈标签。”
谢谢。
【问题讨论】:
标签: javascript d3.js label zooming circle-pack