2015-07-28 100 views
0

我使用的是d3.js,我想在我的整个svg画布上使用画笔(支持缩放和平移),所以我只是把无穷大范围中的线性标尺如下:D3.js在无限的范围内使用d3.svg.brush

d3.svg.brush() 
    .x(d3.scale.linear().range([-Infinity, Infinity])) 
    .y(d3.scale.linear().range([-Infinity, Infinity])) 
    ...() 

刷正在对整个SV,但使用此“特技”

Invalid value for <rect> attribute x="NaN" 

工作实施例当有一些讨厌的JavaScript错误:http://jsfiddle.net/cn010zt3/

有关如何正确执行此操作的任何想法?

回答

1

D3秤需要实际值,并且不会与Infinity正常工作。无论如何,您无需使用Infinity,因为您的SVG具有有限的大小 - 只需使用它即可。完整演示here

+0

确实,我以为事情太多了,谢谢! – JonathanK