Javascript 对多个数据使用translate函数
目前我正在使用.filter来指定我希望在数据集中使用的数据类型。然而,当涉及到具体的定位时,它当然是通过重叠来实现的。例如:Javascript 对多个数据使用translate函数,javascript,d3.js,Javascript,D3.js,目前我正在使用.filter来指定我希望在数据集中使用的数据类型。然而,当涉及到具体的定位时,它当然是通过重叠来实现的。例如: .filter(function(d) { return d.Country === 'Russia'; }) .attr("transform", function(d,i) { return "translate(-180,50)"; }); 当然,这只会使所有特定的数据在一个地方传递到另一个地方。因此,我想知道是否可以进行由我拥有的过滤器指定
.filter(function(d) {
return d.Country === 'Russia';
})
.attr("transform", function(d,i) {
return "translate(-180,50)";
});
当然,这只会使所有特定的数据在一个地方传递到另一个地方。因此,我想知道是否可以进行由我拥有的过滤器指定的多重转换。我试图做这样的事情:
.attr("transform", function(d,i) {
return if (d.name === 'Amy') { "translate(-180,50)"; }
})
这是我的json等的一个例子
如果有人能给我指出正确的方向,那就太好了。
.attr(“transform”,function(d,i){return If(d.name=='Amy'){“translate(-180,50)”;}}}}}
应该是.attr(“transform”,function(d,i){If(d.name=='Amy'){return translate(-180,50)”;}}}
@jacktheripper。。非常感谢你。虽然,如果我放置如下内容:.attr(“transform”,函数(d,I){if(d.Name=='Lewis'){return“translate(-170,90)”;}}).attr(“transform”,函数(d,I){if(d.Name=='Amy'){return translate(-250,90)”;}。。。当形状不同时,它似乎不起作用?任何想法为什么不:.attr(“transform”,函数(d,i){if(d.Name=='Lewis'){return“translate(-170,90)”;}else(d.Name=='Amy'){return“translate(-250,90)”;})代码>?不,因为某种原因它不喜欢它,您可以尝试在我发布的JSFIDLE上进行编辑