首页 > 解决方案 > D3.js 中的 if else 语句用于自定义色标

问题描述

我正在使用下面的代码:

 let sizeBands = data.map(({size, count}) => size / count);

  sizeBands.forEach(function(colorBand){      
        if (colorBand < 60) {
           console.log(colorBand + " Under 60!")            
        } if (colorBand >= 60)
           console.log(colorBand + " Over 60!")         
      }) 

console.log() 工作正常并显示正确的数字。

我正在附加一个“矩形”,它需要根据这些数字返回填充。

    .attr('fill', function(d) {
      if (d.colorBand <= 55) {
        return "red";
      } else if (d.colorBand >= 56 && d.colorBand <= 60) {
        return "blue";
      } else {
        return "green"
      }
    });

但我得到的只是绿色的'rects'。如何获取代码以使用正确的颜色填充“矩形”?

标签: javascriptif-statementd3.js

解决方案


推荐阅读