Javascript 我的属性函数中的d3函数(.attr(";d";,…语句)中断代码(d3版本5-散点图)
我正在使用d3版本5创建散点图 下面的代码工作正常Javascript 我的属性函数中的d3函数(.attr(";d";,…语句)中断代码(d3版本5-散点图),javascript,d3.js,scatter-plot,Javascript,D3.js,Scatter Plot,我正在使用d3版本5创建散点图 下面的代码工作正常 svg.selectAll(“.point”) .数据(数据) .enter().append(“路径”) .attr(“类”、“点”) .attr(“d”,d3.symbol().type(d3.symbolCross)) .attr(“填充”,“钢蓝”) .attr(“转换”,函数(d){return 翻译(“+x(d.x)+”,“+y(d.y)+”);} });实际上,错误不是因为使用了d。问题在于没有正确关闭函数。确保正确打开和关闭花
svg.selectAll(“.point”)
.数据(数据)
.enter().append(“路径”)
.attr(“类”、“点”)
.attr(“d”,d3.symbol().type(d3.symbolCross))
.attr(“填充”,“钢蓝”)
.attr(“转换”,函数(d){return
翻译(“+x(d.x)+”,“+y(d.y)+”);}
});代码>实际上,错误不是因为使用了d。问题在于没有正确关闭函数。确保正确打开和关闭花括号。请试试这个
svg.selectAll(".point")
.data(data)
.enter().append("path")
.attr("class", "point")
.attr("d", d3.symbol().type(d3.symbolCross))
.attr("Fill",'steelblue')
.attr("transform", (d) => "translate(" + d.x + "," + d.y + ")");
当我使用未在.attr()中包含函数的代码时,没有出现错误。比如上面的代码。它运行得很好。错误是当.attr(“d”,函数(d){……}语句中有一个函数时。4件事:1)在返回后不能有换行符;2) 您希望返回函数,而不是字符串;3) 你少了一个括号。4) 您必须调用返回的函数。尽管如此,它应该是:.attr(“d”,函数(d){return d3.symbol().type(d3.symbolCross)(;})
。