【发布时间】:2021-01-09 14:14:55
【问题描述】:
我正在尝试根据条件为 d3 图表的同一轴上的刻度标签文本分配不同的颜色,
var input = ["Vegetable", "Grains", "Fruits", "Ham"]
var ch = yaxis.selectAll("text");
ch.style( "fill", function() {
for(var i=0; i<input.length; i++) {
if(input[i].indexOf('Fruit') != -1) {
return "black";
}
else {
return "blue";
}
}
})
我的 y 轴将有来自输入数组的 4 个刻度。 但我可以看到,它只适用一次,不考虑 else 条件。
有什么方法可以在同一轴上使用不同颜色的标签文本?
更新: 我可以通过选择所有轴刻度然后更改其样式来实现这一点,
.style( "fill", function(d) {
for(var i=0; i<obj.length; i++) {
if(d.indexOf('*') == -1) {
return "black";
else {
return "red";
}
}
}```
【问题讨论】:
标签: d3.js