D3 进入-更新-退出 理解
来源:互联网 发布:类似英文的拼音域名 编辑:程序博客网 时间:2024/06/05 21:56
进入-更新-退出是D3可视化的基石
var data = [10,15,24,23,12];
//进入(enter)
d3.select("body").selectAll("div.h-bar")
.data(data)
.enter()
.append("div").attr("class","h-bar").append("span");
//更新(update)
d3.select("body").selectAll("div.h-bar")
.data(data)
.style("width", function(d){
return (d*3) + "px";
})
.select("span")
.text(function(d){
return d;
})
//退出(exit)
d3.select("body").selectAll("div.h-bar")
.data(data)
.exit()
.remove();
D3在相应的DOM元素中添加了一个名为__data__的属性,并通过这个属性将数据和图形联系起来
update() (绑定数据数量==对应元素数量)
当绑定数据数量等于元素数量时,更新元素上面绑定的数据
<body>
<p></p>
</body>
<script>
var p = d3.select("body").selectAll('p');
var dataSet = [1];
var p.data(dataSet).text(function(d){return d;});
/*body 选集的p元素数量等于dataSet数据集的数量,data()函数就会更新p中绑定的数据值,不会在body中删除元素或者添加元素*/
</script>
enter() (绑定数据数量>对应元素数量)
当绑定数据数量大于元素数量时,通常需要添加元素,使元素数量与绑定数据的数量相等,后面通常先跟上append操作,然后更新元素上面绑定的数据
<body>
<p>
</body>
<script>
var p = d3.select("body").selectAll('p');
var dataSet = [1,2,3];
var p.data(dataSet).enter().append("p").text(function(d){return d;});
/*body 选集的p元素数量小于dataSet数据集的数量,enter()模式会在body中append p 元素,使p元素的数量等于dataSet中的数据数量,并绑定数据集*/
</script>
exit() (绑定数据数量<对应元素数量)
当对应元素数量大于绑定数据数量时,通常需要删除元素,使元素数量与绑定数据的数量相等,后面通常跟上remove操作,然后更新元素上面绑定的数据
<body>
<p></p>
<p></p>
<p></p>
<p></p>
</body>
<script>
var p = d3.select("body").selectAll('p');
var dataSet = [1];
var p.data(dataSet).exit().remove().text(function(d){return d;});
/*body 选集的p元素的数量大于dataSet数据集的数量,exit()模式会删除body 中 p元素,使p元素的数量等于dataSet中数据数量,并绑定数据集*/
</script>
阅读全文
1 0
- D3 进入-更新-退出 理解
- D3数据连接之“更新”和“退出”
- D3数据连接:进入
- 进入与退出系统
- 页面进入退出特效
- 进入/退出过程指令
- Activity进入退出动画
- dialog动态进入、退出
- activity进入退出动画
- gdb进入和退出
- 定义Window进入和退出效果(及Window,Activity,View的理解)
- d3 齿轮的代码理解
- 1.进入与退出系统
- S3C2440 异常进入和退出
- Activity、PopupWindow 进入,退出动画
- linux常用命令---进入与退出
- GDB 的进入和退出
- 设置Activity进入退出动画
- 30个java编程小技巧
- 算法入门经典第二版 3-7 DNA Consensus String
- C++ 线程的封装
- ios 视图动画的Option枚举值
- 一些好的网站记录(PART 7)
- D3 进入-更新-退出 理解
- 中小企业的架构之道
- 【十八掌●武功篇】第十六掌:Spark之RDD简介
- 假如时光倒流,我会这么学习Java
- Cortex系列ARM内核介绍
- 深入理解Composer autoload
- 使用snoopy logger记录用户命令
- 百度推广客户端下载地址
- 人工神经网络概念梳理与实例演示