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中定位外部加载的svg_Svg_D3.js - Fatal编程技术网

在D3中定位外部加载的svg

在D3中定位外部加载的svg,svg,d3.js,Svg,D3.js,我已使用d3将外部svg图像加载到可视化中: var foo = d3.xml("foo.svg", "image/svg+xml", function(xml) { document.body.appendChild(xml.documentElement); }) 有一件事我似乎不明白,那就是如何定位这个SVG。例如,我正在尝试这样做: foo.attr("x", 10) .attr("y", 10) 这不管用。如何使用D3操作外部加载的SVG文件的位置?确保foo是D3选择,

我已使用d3将外部svg图像加载到可视化中:

var foo = d3.xml("foo.svg", "image/svg+xml", function(xml) {
  document.body.appendChild(xml.documentElement);
})
有一件事我似乎不明白,那就是如何定位这个SVG。例如,我正在尝试这样做:

foo.attr("x", 10)
   .attr("y", 10)

这不管用。如何使用D3操作外部加载的SVG文件的位置?

确保foo是D3选择,因为attr是D3选择的方法,而不是SVG DOM元素的方法。

只是一个初步想法,您是否在回调中设置属性?否则,可能还没有加载foo…谢谢您的帮助。我正在回调外部设置属性。我只是不知道加载外部svg后如何操作它?我的观点是,如果您在回调外部调用它,而图像尚未加载,那么设置属性将不起作用。你犯了什么错误?未定义?是的,我也试过了。在回调中放置属性似乎确实有效果。确保foo是d3选择,因为attr是d3选择的方法,而不是svgdom元素的方法。