Javascript 在D3中刷子图报告错误值
任务描述 在d3中报告笔刷事件的笔刷范围。用作参考的任务 预期行为 当我在X轴或Y轴上单击或画笔时,应报告正确的值,即如果我在数字“0.3”上单击,d3.brush.extent()应返回[0.3,0.3];如果我刷过-0.2和0.4,d3.brush.extent()应该返回[-0.2,0.4] 观察到的行为 当我在X轴或Y轴上单击时,在控制台中观察到d3.brush.extent()的正确值,即,如果我单击数字“0.3”,d3.brush.extent()将返回[0.3,0.3]。但是,当我刷一个范围时,d3.brush.extent()无法报告正确的值。恢复画笔的唯一方法是重新加载页面。未观察到任何错误 我的尝试 我尝试用d3.brush.clear()清除笔刷,但似乎没有效果。如果我刷一个区域,单击之前观察到工作的区域不会恢复笔刷。从上面的参考资料来看,我认为是罪魁祸首的功能是Javascript 在D3中刷子图报告错误值,javascript,d3.js,svg,Javascript,D3.js,Svg,任务描述 在d3中报告笔刷事件的笔刷范围。用作参考的任务 预期行为 当我在X轴或Y轴上单击或画笔时,应报告正确的值,即如果我在数字“0.3”上单击,d3.brush.extent()应返回[0.3,0.3];如果我刷过-0.2和0.4,d3.brush.extent()应该返回[-0.2,0.4] 观察到的行为 当我在X轴或Y轴上单击时,在控制台中观察到d3.brush.extent()的正确值,即,如果我单击数字“0.3”,d3.brush.extent()将返回[0.3,0.3]。但是,当我
function brushed() {
x.domain(brush.empty() ? x2.domain() : brush.extent());
}
但我不知道为什么它在我的应用程序中表现得不如预期
这是我到目前为止所拥有的东西。请注意,d3.brush.extent()值记录在控制台上
问题
为什么笔刷事件没有返回正确的范围?为什么刷牙的时候会卡住?关于什么可能会被拒绝,你有什么想法吗?不完全确定发生了什么,但是你的
图形变量似乎在不同的上下文中引用了不同的东西。如果您将在d3_data
中定义的代码移动到plot
函数中,它就会起作用:嗯。我将不得不仔细思考它为什么会这样工作。同时,谢谢你,拉尔斯!