D3.js 将数据从d3js中的父函数传递到内部函数
我有如下所示的csv格式的数据,我在绘制圆中使用了lat和long数据,但我想将宽度和高度传递给矩形,单击圆将填充矩形 我面临的问题是,数据将进入圆函数,但它不会进入矩形(单击圆)(内部函数)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
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);
}
)
});