d3选择集合核心方法(二):data与datum
来源:互联网 发布:linux tail 指定行 编辑:程序博客网 时间:2024/06/07 07:32
表一 d3赋值语句data与datum的区别
实例代码:
假定预置的DOM元素如下:
<li class="list-group-item" id="1"></li><li class="list-group-item" id="2"></li><li class="list-group-item" id="3"></li>
1. 集合运算
// 进行交集运算, update.data()运算结果为[1, 2, 3]var update = d3.selectAll('.list-group-item').data([1, 2, 3])// 进行赋值运算,所有的.list-group-item元素的数据都为[1, 2, 3]var items = d3.selectAll('.list-group-item').data([1, 2, 3])
2. 唯一性识别
// 可添加主键的唯一性识别,排除重复元素, update.data()运算结果为[1, 2, 3]var update = d3.selectAll('.list-group-item').data([1, 2, 3], function(d) { return d !== undefined?d : this.id;})
3. 清除旧数据
// 无效,始终会进行集合运算,并且参数只接受数组类型var update = d3.select('#list-group-item').data({id : '1', name : "item"}) // 有效,会将#list-group-item的数据更新为{id : '1', name : "item"}var update = d3.select('#list-group-item').datum({id : '1', name : "item"})
4. 读取数据
// 返回所有.list-group-item元素的数据,类型必定是数组,本例中为[1, 2, 3]var values = d3.selectAll('.list-group-item').data() // 返回的总是第一个.list-group-item元素的数据,依赖于设定的值,本例中返回1var value = d3.selectAll('.list-group-item').datum()
5. 赋值
参见清除旧数据与唯一性识别。
5. 链式操作
// 声明唯一性识别函数var identify = function(d) { return d !== undefined ? d : this.id;}// 不断进行集合运算,假定有上面的预置DOM,返回的结果为[2, 3]var joins = d3.selectAll('.list-group-item').data([1, 2, 3], identify).data([2, 3, 4], identify) // 所有.list-group-item元素的数据都为[2, 3, 4]var update = d3.selectAll('.list-group-item').datum([1, 2, 3], identify).datum([2, 3, 4], identify)
6. 空元素操作
假定页面中不存在header元素。
// 不会添加任何元素d3.select('header').datum({name : 'yiifaa'}).append('header').text(function (d) { return d.name;})// 会添加元素 d3.select('header').data([{name : 'yiifaa'}]) // 务必确认赋值一定是数组 .enter().append('header').text(function (d) { return d.name; })
1 0
- d3选择集合核心方法(二):data与datum
- d3选择集合核心方法(一):data、enter、exit
- D3选择集合核心方法(三):property、attr
- 【 D3.js 选择集与数据详解 — 1 】 使用datum()绑定数据
- d3选择集合的操作方法(二):each与call
- d3选择集合的操作方法(一):select与selectAll
- d3选择集合的操作方法(三):lower与raise
- d3选择集合的操作方法(四):sort与order
- d3选择集合的操作方法(五):insert与append
- 【 D3.js 选择集与数据详解 — 2 】 使用data()绑定数据
- d3.js-选择集与数据
- d3学习之(Data Visualization with d3.js Cookbook )二(第一章)
- d3学习之(Data Visualization with d3.js Cookbook )二(第二章)
- d3学习之(Data Visualization with d3.js Cookbook )二(第二章)
- Java并发编程核心方法与框架-集合框架结构简要
- 【 D3.js 选择集与数据详解 — 4 】 enter和exit的处理方法以及处理模板
- D3: Data-Driven Documents
- Drawing with Data-D3
- jsp实现表单异步验证+传送接收数据
- XZ_iOS中判断是从哪个控制器push进来的,返回指定控制器
- jquery 中 closest和parent用法
- eclipse到android studio遇到的问题
- iOS 中几种不同通信模式的优缺点
- d3选择集合核心方法(二):data与datum
- Error:(34) Error: "xxx" is translated here but not found in default locale [ExtraTrans
- 创建二叉树
- 为Android系统或你的应用提供搜索功能--开始使用搜索功能
- Hadoop YARN RPC实现
- 挂机型外挂开发-框架设计
- Hibernate4学习笔记(二): 向数据表中添加数据
- AP AR 查看那些单据(invoice, payment, transaciton, receipt等)还没有创建会计分录或分录出错
- 【译】我从编程总结的 22 个经验