D3.js 将数据从d3js中的父函数传递到内部函数

D3.js 将数据从d3js中的父函数传递到内部函数,d3.js,D3.js,我有如下所示的csv格式的数据,我在绘制圆中使用了lat和long数据,但我想将宽度和高度传递给矩形,单击圆将填充矩形 我面临的问题是,数据将进入圆函数,但它不会进入矩形(单击圆)(内部函数) canvas是svg还是g元素?假设是这样,它可以工作…检查这个简化的.var canvas=d3.select(“body”).append(“svg”).attr(“width”,2048).attr(“height”,2048);var group=canvas.selectAll(“g”).dat

我有如下所示的csv格式的数据,我在绘制圆中使用了lat和long数据,但我想将宽度和高度传递给矩形,单击圆将填充矩形

我面临的问题是,数据将进入圆函数,但它不会进入矩形(单击圆)(内部函数)


canvas
svg
还是
g
元素?假设是这样,它可以工作…检查这个简化的.var canvas=d3.select(“body”).append(“svg”).attr(“width”,2048).attr(“height”,2048);var group=canvas.selectAll(“g”).data(data.features.enter().append(“g”);添加svg,然后将所有元素分组以查看任何错误消息?
g
元素是否成功创建?实际上,我正在绘制一张地图,然后在上面绘制一个圆。稍后,我单击圆圈以生成数据。在创建圆之前没有问题,但对于单击圆函数,数据不会被传递。
DATA
district,lat,lon,width,height
andhra,19.41079,79.177427,100,200
HIMACHAL PRADESH,30.970288,76.802893,200,300  



d3.csv("newcsv.csv",function(data)
            {
                group.selectAll("circle")
                     .data(data)
                     .enter()
                     .append("circle")
                     .attr("cx",function(d)
                             {return projection([d.lon, d.lat])[0];})
                     .attr("cy", function(d) {
                        return projection([d.lon, d.lat])[1];
                            })
                     .attr("r",5)
                     .attr("fill","red")
                     .on("click",function(d)
                        {
                         canvas.append("rect")
                                .attr("width",d.width)
                                .attr("height",d.height)
                                .attr("x",500)
                                .attr("y",500);

                        }             
                     )

            });