D3数据集的过滤,排序,each更改

Posted aguncn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D3数据集的过滤,排序,each更改相关的知识,希望对你有一定的参考价值。

实践一下。

<!DOCTYPE html>


<body>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <div id="enter"></div>
    <div id="exit">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
    </div>
</body>

<script src="d3.v3.min.js" charset="UTF-8"></script>
<script>
    var dataset = [{id: 3, name: Leo},
        {id: 6, name: Jacky},
        {id: 9, name: Mike}];
    var p = d3.select("body").selectAll("p");
    var update = p.data(dataset
      .filter(function(d,i){
        if (d.id > 3) {
            return true;
        } else {
            return false;
        }
      })
      .sort(function(a,b) {
          return b.id - a.id;
      }));
    var enter = update.enter();
    var exit = update.exit();
   
    update
      .each(function(d, i) {
          d.age = d.id + 23; 
      })
      .text(function(d){return d.id + " age:" + d.age + " " + d.name;});
    enter.append("p").text(function(d){return d;});
    exit.remove();
</script>

技术图片

以上是关于D3数据集的过滤,排序,each更改的主要内容,如果未能解决你的问题,请参考以下文章

D3 交叉过滤器基本示例

d3 .each()

D3学习指北--第三章应用,冒泡排序的可视化

如何使用 d3 过滤器和更新功能在数据选择之间切换

D3中对svg 分析新增 defs元素 增加each()

如何在 D3 中检索嵌套数据集的键值