D3.js 无限使用 d3.svg.brush
D3.js Use d3.svg.brush on an infinite scale
我正在使用 d3.js 并且我想在我的整个 svg canvas 上使用画笔(支持缩放和平移),所以我只是将无限范围放在线性比例中如下:
d3.svg.brush()
.x(d3.scale.linear().range([-Infinity, Infinity]))
.y(d3.scale.linear().range([-Infinity, Infinity]))
...()
笔刷在整个 sv 上工作,但在使用此 'trick'
时出现一些严重的 javascript 错误
Invalid value for <rect> attribute x="NaN"
工作示例:http://jsfiddle.net/cn010zt3/
知道如何正确执行此操作吗?
D3 比例需要实际值,无法与 Infinity
一起正常工作。无论如何,您不需要使用 Infinity
,因为您的 SVG 大小有限——只需使用它即可。完成演示 here.
我正在使用 d3.js 并且我想在我的整个 svg canvas 上使用画笔(支持缩放和平移),所以我只是将无限范围放在线性比例中如下:
d3.svg.brush()
.x(d3.scale.linear().range([-Infinity, Infinity]))
.y(d3.scale.linear().range([-Infinity, Infinity]))
...()
笔刷在整个 sv 上工作,但在使用此 'trick'
时出现一些严重的 javascript 错误Invalid value for <rect> attribute x="NaN"
工作示例:http://jsfiddle.net/cn010zt3/
知道如何正确执行此操作吗?
D3 比例需要实际值,无法与 Infinity
一起正常工作。无论如何,您不需要使用 Infinity
,因为您的 SVG 大小有限——只需使用它即可。完成演示 here.