javascript - D3.js 上的搜索功能

标签 javascript search d3.js hide bubble-chart

我想在 D3.js 中为我的所有圈子创建一个搜索功能。问题是我无法从文本框中选择特定项目,但我可以选择所有项目来隐藏它们。其他问题,搜索项目以隐藏它是一个好的解决方案吗?这是我隐藏项目的功能:

function myFunction(){
    var myBubble = document.getElementById("targetNode").value;
    var theNode = d3.select(myBubble.id);
        d3.selectAll("circle").style("opacity","0");
        d3.selectAll("text").style("opacity","0");
        theNode.style("opacity","1");
}

这是该问题的在线示例:https://plnkr.co/edit/tFgMhomgn2sKazK674Kl?p=preview 非常感谢!

最佳答案

先选择所有节点,然后选择 filter通过比较绑定(bind)到节点的数据来找到所需的数据:

function hideItem(){
    var itemName = document.getElementById("targetNode").value;
    var theNode = d3.selectAll(".node")
                    .filter(function(d) { return d.className === itemName });
    d3.selectAll(".node").style("opacity","0");
    theNode.style("opacity","1");
}

https://plnkr.co/edit/pF4EYzE4V3x4T5KMILEM

关于javascript - D3.js 上的搜索功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36978406/

相关文章:

ios - 从现有的 plist 创建一个新的 plist?

javascript - 如何在 d3.js 中制作带有扩展网格的圆 Angular 条形图?

d3.js - D3 tickSizeOuter(0) 删除不工作的结束标记

javascript - 从 Controller 在 AngularJS 中滚动不起作用

javascript - ZeroClipboard - 将文本复制到剪贴板不起作用

javascript - 为老用户更新 firebase service-workers

javascript - 为什么我得到索引二的返回值?

algorithm - Facebook 图谱搜索 : Information Retrieval Algorithm

database - 为什么Elasticsearch不返回包含几乎相等词的文档?

javascript - 如何将函数作为 Node 中的模块添加到现有对象?