d3.js:根据用户输入按组着色

mm9b1k5b  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(121)

我是一个新手,使用d3.js创建一个基于用户选择的多级过滤器图。所有的过滤器都工作,除了enter link description here分类颜色选择。颜色默认为流体类型(默认应该是材料类型),使用单选按钮切换不工作。有人能帮助吗?
https://plnkr.co/edit/yoFCbe?p=preview

function filter_color(){
    colored = document.getElementById("color_Filter");
    svg.append("circle")
        .style("fill", function(d) {
            if (colored == 0) {
                return color(d["Material group"]);
            } else {
                return color(d["Fluid type"]);
            }
        })
    }
plupiseo

plupiseo1#

你没有检查单选框的实际值。获取checked/unchecked状态,if语句将正常运行:

colored = document.getElementById("color_Filter")[0].checked; // <= mind here
  if (colored == 0) {
        return color(d["Material group"]);
  } else {
        return color(d["Fluid type"]);
  }

请参阅https://plnkr.co/edit/gZOIbDgYj6OCs5aM1CV2?p=preview

相关问题