D3中轴文本的背景颜色

时间:2017-06-29 08:04:21

标签: javascript css d3.js

我想在D3中有条件地为y轴文本提供背景颜色,但遗憾的是"填充" attr没有工作,因为它为轴文本而不是背景提供颜色,如果我可以从SO获得解决方案,那将是一件好事。

以下是它的外观。

enter image description here

这是有条件写的代码块。

的.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;
            })

1 个答案:

答案 0 :(得分:1)

您应该在fill函数中定义第二个参数:

.style("fill", function(d,i) {

然后

if (i == 1) {
      str = 'gray';

    } ...

或将d与文字值进行比较:

if (d == 'Positive') {
      str = 'green';

    }