我正在使用d3.js而且我想在我的整个svg画布上使用画笔(使用缩放和平移支持),所以我只是将无限范围放在线性比例中,如下所示:
d3.svg.brush()
.x(d3.scale.linear().range([-Infinity, Infinity]))
.y(d3.scale.linear().range([-Infinity, Infinity]))
...()
刷子正在处理整个sv,但是在使用这个'技巧时会出现一些令人讨厌的javascript错误
Invalid value for <rect> attribute x="NaN"
工作示例:http://jsfiddle.net/cn010zt3/
有关如何正确执行此操作的想法吗?
答案 0 :(得分:1)
D3 scales require actual values and won't work properly with Infinity
. You don't need to use Infinity
anyway, as your SVG has a finite size -- simply use that. Complete demo here.