Javascript 从d3中的节点获取转换
是否可以使用d3以Javascript 从d3中的节点获取转换,javascript,d3.js,Javascript,D3.js,是否可以使用d3以transform形式(从d3 transform)从svg组元素获取当前转换(特别是translate,即由.attr('transform','translate(20,10))设置)?我设法获取属性(select('g').attr('transform')),但需要以某种方式将其转换为transform对象/函数,以链接更多的转换并将其重新应用于节点 作为拖动的一部分,我尝试转换g元素。它不包含x/y属性(与许多其他拖动示例一样)。相反,它指定了正确放置的transfo
transform
形式(从d3 transform)从svg组元素获取当前转换(特别是translate,即由.attr('transform','translate(20,10)
)设置)?我设法获取属性(select('g').attr('transform')
),但需要以某种方式将其转换为transform
对象/函数,以链接更多的转换并将其重新应用于节点
作为拖动的一部分,我尝试转换g
元素。它不包含x
/y
属性(与许多其他拖动示例一样)。相反,它指定了正确放置的transform()
属性
我目前的方法是
$g.node().transform.baseVal[0].matrix.e
来获取转换的x值,但我希望使用更“d3集成”的方法。您可以通过请求元素的转换矩阵来实现:
const matrix = select('g').node().transform.baseVal.consolidate().matrix
const translateX = matrix.e
const translateY = matrix.f
const scale = matrix.d
这是一个.边界XY问题。。。为了得到一个像样的D3答案,请发布您的代码,并描述您正试图实现的目标,即预期的行为。