我想在D3中有条件地为y轴文本提供背景颜色,但遗憾的是"填充" attr没有工作,因为它为轴文本而不是背景提供颜色,如果我可以从SO获得解决方案,那将是一件好事。
以下是它的外观。
这是有条件写的代码块。
的.js
vis.selectAll(".yaxis text") // select all the text elements for the xaxis
.style("font-size", "15px")
.style("font-weight", "bold")
// .style("fill","green")
.style("fill", function(d,i) {
var str;
console.log(d);
if (i == 1) {
str = 'gray';
}else if(i == 2){
str = 'red';
}else if(i == 3){
str = 'Blue';
}
else if(i == 4){
str = 'green';
}
return str;
})
答案 0 :(得分:1)
您应该在fill
函数中定义第二个参数:
.style("fill", function(d,i) {
然后
if (i == 1) {
str = 'gray';
} ...
或将d
与文字值进行比较:
if (d == 'Positive') {
str = 'green';
}