【发布时间】:2015-04-06 17:44:51
【问题描述】:
我有一个 d3 折线图(可以在这里查看 - the graph)。该图只允许在 y 轴上缩放。默认情况下,它允许拖动。我想阻止人们在 y 轴上拖到 0 以下。我在某处读到不需要编写新的拖动功能,因为缩放可以处理。因此,我尝试在缩放时调用的函数(重绘)上实现逻辑,但无法弄清楚如何防止人们在 y 轴上拖动到 0 以下。下面是redraw函数的代码
function redraw() {
if (y.domain()[0] < 0) {
y.domain()[0] = 0;
vis.selectAll("[ty='line']").attr('d', line);
vis.select(".y.axis").call(yAxis);
return;
} else {
vis.select(".y.axis").call(yAxis);
vis.selectAll("[ty='line']").attr('d', line);
}
}
【问题讨论】:
-
@LarsKotthoff 非常感谢。它仍然有些错误,但在 90% 的时间里都可以正常工作
-
嗯,这个例子对我来说很好。
-
@LarsKotthoff 这是我的错。它完美地工作。谢谢
标签: javascript d3.js graph