Javascript 有条件地不在d3.symbol d3.js中使用符号

Javascript 有条件地不在d3.symbol d3.js中使用符号,javascript,d3.js,Javascript,D3.js,我正在做一个散点图,我想在d3中使用“十字”符号,在我的例子“阳性对照”中只用于一个特定的键,在图表中绘制其他形状时跳过十字符号。我能够使用if条件为特定的键绘制“+”,但我无法想出如何跳过为数据集中的其余键绘制的“交叉”符号。请参阅我到目前为止的链接。我想将d3.symbol函数更改为只使用一次“+”符号。提前谢谢你的帮助 series.selectAll("g.point") .data(function(d) { return d.values;}) .enter() .append("s

我正在做一个散点图,我想在d3中使用“十字”符号,在我的例子“阳性对照”中只用于一个特定的键,在图表中绘制其他形状时跳过十字符号。我能够使用if条件为特定的键绘制“+”,但我无法想出如何跳过为数据集中的其余键绘制的“交叉”符号。请参阅我到目前为止的链接。我想将d3.symbol函数更改为只使用一次“+”符号。提前谢谢你的帮助

series.selectAll("g.point")
.data(function(d) { return d.values;})
.enter()
.append("svg:path")
.attr("class",function(d,i) {return (d.x).replace(/\s/g, ''); }) // removing spaces
.attr("transform", function(d,i) { return "translate(" + x(d.y) + "," + y(d.z) + ")"; })
.attr("d", function(d,i,j) {
if(d.Call === "someCall") {
    return d3.svg.symbol().type('cross')();
}
else {
    return d3.svg.symbol().type(d3.svg.symbolTypes[j])(); // remove "+" symbol from the d3.symbol function for all other keys - use some other symbol instead


}
})
.style("fill", function(d) { return color(d.Call); }); 

[![enter image description here][2][2]

您只需明确指定符号数组并省略十字符号即可

var mySymbols = ["circle", "diamond", "square", "triangle-down", "triangle-up"];
return d3.svg.symbol().type(mySymbols[j%mySymbols.length])();