Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
D3.js 绘制属性值大于2147483786的SVG路径_D3.js_Svg - Fatal编程技术网

D3.js 绘制属性值大于2147483786的SVG路径

D3.js 绘制属性值大于2147483786的SVG路径,d3.js,svg,D3.js,Svg,我想画一个svg路径,其中数据来自服务器。现在假设一个数据点是2147483787。有了这么大的价值,我的完整路径就被忽略了。请参阅下面的代码片段以供参考。这将在svg上不显示任何内容。当我给这个值时,一个选项是用一个常数因子来划分所有的值,比如100,如果这对你来说合适的话。这似乎是一个浏览器的错误,在FF上可以正常工作,但在Chrome上不行:事实上,在FF上也会发生这种情况,但是对于更高的值,你可以使用D3的比例将坐标转换成屏幕坐标(我假设您的屏幕大小小于2147483786 x 2147

我想画一个svg路径,其中数据来自服务器。现在假设一个数据点是2147483787。有了这么大的价值,我的完整路径就被忽略了。请参阅下面的代码片段以供参考。这将在svg上不显示任何内容。当我给这个值时,一个选项是用一个常数因子来划分所有的值,比如100,如果这对你来说合适的话。这似乎是一个浏览器的错误,在FF上可以正常工作,但在Chrome上不行:事实上,在FF上也会发生这种情况,但是对于更高的值,你可以使用D3的比例将坐标转换成屏幕坐标(我假设您的屏幕大小小于2147483786 x 2147483786像素)。我只使用d3刻度。但我的刻度范围是从0到1000,因此值非常高,因此d3刻度给出的像素值等于我提到的长值。一个选项是,我将根据接收到的数据更改刻度,以便刻度范围从最小到最大。但问题是,如果用户将刻度从0更改为最大,该怎么办1000或一些较小的值。这是一个好主意,我在我的代码中做一个检查,如果d3 scale给出的像素值>2147483786,那么只需将其更改为2147483786。一个选项是通过一个常量因子来区分所有值,比如100,如果这对你来说是可以的。这似乎是一个浏览器的错误,在FF上工作正常,但在Chrome上不工作:实际上是这样的也会在FF上发生,但如果值较高,您可以使用D3的比例将坐标转换为屏幕坐标(我假设您的屏幕大小小于2147483786 x 2147483786像素)。我只使用d3刻度。但我的刻度范围是从0到1000,因此值非常高,因此d3刻度给出的像素值等于我提到的长值。一个选项是,我将根据接收到的数据更改刻度,以便刻度范围从最小到最大。但问题是,如果用户将刻度从0更改为最大,该怎么办1000或一些较小的值。我在代码中检查一下,如果d3 scale给出的像素值大于2147483786,那么只需将其更改为2147483786,这是一个好主意吗。
var simpleLine = d3.svg.line();
d3.select('svg')
.append('path')
.attr({
d: simpleLine([[0,0],[200,200],[2147483787,2147483787]]),
stroke: '#000'
});