限制将d3.js图表​​平移到一个方向

时间:2013-12-21 18:10:51

标签: javascript jquery svg d3.js

pannable & zoomable chart here允许在X和Y方向上平移。我们如何将平移限制在仅水平方向?缩放应该仍然可以像原版一样在两个方向上工作。

1 个答案:

答案 0 :(得分:2)

如果您希望在限制平移的同时继续放大和缩小y-axis,则最终会产生相当奇怪的用户体验。此外,通过放大一个点并缩小另一个点,用户将能够平移 y-axis

但是,您可以通过仅在{em> scale 事件(即yAxis更改d3.event.scale)时更改> 1e-5来执行此操作。

借用@ Nouphal.M的例子:http://jsfiddle.net/tmFSF/1/

请注意,y比例仍会发生变化。因此,如果重绘图表,元素的位置仍然不同。要解决此问题,您可能希望使用y.copy()作为y行为的zoom比例,并完全管理原始domain比例的y你自己在zoomed函数。