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.js中的svg中选择id_Svg_D3.js - Fatal编程技术网

从d3.js中的svg中选择id

从d3.js中的svg中选择id,svg,d3.js,Svg,D3.js,我是D3.js新手,所以我想知道如何使用D3.select或D3.selectAll从我加载的外部SVG中选择一些ID。例如:我想选择一些国家并更改它们的颜色和边界,但无法在D3.js中使用。相关脚本: var svg = d3.select("body").append("svg") .attr("width", 2048) .attr("height", 982) .style("fill", "tran

我是D3.js新手,所以我想知道如何使用D3.select或D3.selectAll从我加载的外部SVG中选择一些ID。例如:我想选择一些国家并更改它们的颜色和边界,但无法在D3.js中使用。相关脚本:

        var svg = d3.select("body").append("svg")
            .attr("width", 2048)
            .attr("height", 982)
            .style("fill", "transparent");
        var g = svg.append("g");

        var img = g.append("svg:image")
            .attr("xlink:href", "http://upload.wikimedia.org/wikipedia/commons/b/b3/Blank_map_of_Europe.svg")
            .attr("width", 2048)
            .attr("height", 982)
            .attr("x", 0)
            .attr("y", 0);


        var hr = d3.selectAll("#g").select("#hr").style("fill","green"); 

如果将数据加载到标记中,则无法操作该图像的内容

如果希望代码正常工作,需要将数据内联加载到文档中,并且文件需要与加载程序文件位于同一域中。也就是说,仅当加载文件的代码也处于打开状态时,从中加载文件才起作用


假设您将映射复制到与加载页面相同的位置,则可以使用解析映射,然后使用appendChild将其附加到现有文档中。一旦地图和加载地图的代码都是同一文档的一部分,选择代码就会起作用。

看起来您正在选择元素,然后选择ID。尝试d3.selectAllg.selecthr.stylefill,绿色;谢谢,我用javascript在远程服务器上运行,现在我只需要在d3中执行同样的操作。我认为这是个问题。。所以我在服务器上上传了.html和.svg,并将该svg作为对象加载。。谢谢