【发布时间】:2020-08-20 16:42:49
【问题描述】:
我试图分解在 D3 中在画笔上应用工具提示的代码。
我正在研究的代码似乎使用自定义事件。 但是,我认为自定义事件不是必需的。为了检查这一点,我注释掉了 整个自定义事件部分,它工作得非常好。
我注释掉的部分如下。
function brushend() {
//딱히 필요한거같지는 않은 기능.
get_button = d3.select(".clear-button");
if(get_button.empty() === true) {
clear_button = svg.append('text')
.attr("y", 460)
.attr("x", 825)
.attr("class", "clear-button")
.text("Clear Brush");
}
下面附上完整的代码。
https://codepen.io/jotnajoa/pen/NWGXoQo
我认为这只是一个额外的部分,对可视化没有任何作用。
在画笔功能之上启用工具提示的不同之处在于 我坚信发生在这里。
它以“调用”的方式添加辅助函数,而不仅仅是 添加 '.on('click', function() )'
points = svg.selectAll(".point")
.data(data)
.enter().append("circle")
.attr("class", "point")
.attr("clip-path", "url(#clip)")
.attr("r", function(d){return Math.floor(Math.random() * (20 - 5 + 1) + 5);})
.attr("cx", function(d) { return x(d.index); })
.attr("cy", function(d) { return y(d.value); })
.call(d3.helping.tooltip());
提前谢谢你。
附言
另外,据我了解,
在任何情况下都不需要自定义事件。
因为它的作用与常规函数和自定义事件相同
真的不能做任何特别的事情。要执行它的功能,我需要调度它
这使得代码冗长,仅此而已。
这只是我的想法,我愿意听取任何对我想法的批评。(这不是我的主要问题)
总是对 Stackoverflow 的建设性 cmets 心存感激。
【问题讨论】:
标签: javascript d3.js data-visualization