zoukankan      html  css  js  c++  java
  • D3 data()

    与datum()的区别

    假设要绑定的数组为[3,6,9],那么我们希望第一个p元素绑定3,第二个绑定6,第三个绑定9。这种情况就需要使用data()函数,如果使用datum(),则会将数组本身绑定到各元素上,即第一个p元素绑定[3,6,9],第二个绑定[3,6,9],第三个也是绑定[3,6,9]。
    

    借用:http://www.ourd3js.com/wordpress/?p=797 的图

    data()函数返回一个对象,对象里包含update部分和两个函数。一个是enter()函数,返回enter部分,还有update属性,一个是exit()函数,返回exit部分。

    data()的第二个参数:键函数

    http://www.ourd3js.com/wordpress/?p=811 讲的很详细

    绑定的顺序不按照索引号绑定,而是使值依次对应。数据更新时会有用。

    enter的处理方法

    场景:数据多,元素少。

    append()添加元素

    exit的处理方法

    场景:数据少,元素多。

    remove()删除元素

    一套处理的模板:结果是,能保证一个数据对应一个元素。

    var dataset = [10, 20, 30];
    var p = d3.select("body").selectAll("p");
    		
    //绑定数据后,分别返回update、enter、exit部分
    var update = p.data(dataset);
    var enter = update.enter();
    var exit = update.exit();
    
    //1.update部分的处理方法
    update.text( function(d){ return d; } );
    
    //2.enter部分的处理方法
    enter.append("p")
    	.text( function(d){ return d; } );
    
    //3.exit部分的处理方法
    exit.remove();
    

      

  • 相关阅读:
    MySQL性能优化
    性能测试结果分析
    TFS使用之代码管理
    新博开通,近期将推出系列博客之测试工具篇!
    绝对受用的TFS操作指南
    2008 & 2005 TFS 安装心得及安装时遇到的问题!
    测试用例如何进行评审?
    cordova H5打包APK关键几点记录
    Silverlight+wcf 结合窗体验证演示
    两道js笔试题
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4631282.html
Copyright © 2011-2022 走看看