d3.js:限制泛

时间:2014-06-10 13:03:35

标签: javascript d3.js

我正在使用具有平移功能的基本线性图表。

我设法通过限制d3.event.translate值来限制图表元素的拖动程度:

var tx = Math.max(0, d3.event.translate[0]),
    ty = Math.min(0, d3.event.translate[1]);

我现在需要的是相应地限制x和y轴。看例子: http://jsfiddle.net/Q2SWV/

向下或向左拖动时,图表上的条形受限制为0。 x轴和y轴不是。关于如何解决轴问题的任何想法?

1 个答案:

答案 0 :(得分:5)

您非常接近,但是您错过了使用更新的翻译坐标更新zoom行为的最后一步。这将解决您的问题,因为使用zoom更新了两个轴。确定txty

后,立即添加以下内容
zoom.translate([tx, ty]);

这将对轴应用限制。请在此处查看更新的小提琴:http://jsfiddle.net/mdml/nZD3E/