我正在使用具有平移功能的基本线性图表。
我设法通过限制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轴不是。关于如何解决轴问题的任何想法?
答案 0 :(得分:5)
您非常接近,但是您错过了使用更新的翻译坐标更新zoom
行为的最后一步。这将解决您的问题,因为使用zoom
更新了两个轴。确定tx
和ty
:
zoom.translate([tx, ty]);
这将对轴应用限制。请在此处查看更新的小提琴:http://jsfiddle.net/mdml/nZD3E/。