Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将d3.js图表的平移限制为一个方向_Javascript_Jquery_Svg_D3.js - Fatal编程技术网

Javascript 将d3.js图表的平移限制为一个方向

Javascript 将d3.js图表的平移限制为一个方向,javascript,jquery,svg,d3.js,Javascript,Jquery,Svg,D3.js,允许在X和Y方向进行平移。如何将平移限制为仅水平方向?缩放仍应在两个方向上工作,就像原来的一样。如果您想在限制平移的同时继续放大和缩小y轴,您将获得相当奇怪的用户体验。此外,通过在一个点放大和在另一个点缩小,用户将能够平移y轴 但是,只有在缩放事件(即,d3.event.scale根据>1e-5更改)时,才可以通过更改yAxis来执行此操作 借用@Nouphal.M的例子: 请注意,y比例仍在变化。因此,如果重新绘制图表,元素的位置仍然会不同。要解决这个问题,您可能需要使用y.copy()作为y

允许在X和Y方向进行平移。如何将平移限制为仅水平方向?缩放仍应在两个方向上工作,就像原来的一样。

如果您想在限制平移的同时继续放大和缩小
y轴
,您将获得相当奇怪的用户体验。此外,通过在一个点放大和在另一个点缩小,用户将能够平移
y轴

但是,只有在缩放事件(即,
d3.event.scale
根据
>1e-5
更改)时,才可以通过更改
yAxis来执行此操作

借用@Nouphal.M的例子:


请注意,
y
比例仍在变化。因此,如果重新绘制图表,元素的位置仍然会不同。要解决这个问题,您可能需要使用
y.copy()
作为
y
缩放
行为的缩放,并在
zoomed
函数中管理原始
y
域!!缩放似乎只改变X轴的比例。它能同时放大两个轴吗?