`
Supanccy2013
  • 浏览: 223822 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

D3-1 进入,更新,退出模式例子(数组作为数据)

    博客分类:
  • D3
阅读更多
D3对数据和图片的处理规则:
  操作对象:数据集合 + 图片集合
  操作名称: 进入,更新,退出。

进入:选择出来没有绑定图片的数据。
更新:选择已经绑定图片和数据的集合。
退出:选择没有绑定数据的图片。


下面是实例,各种注意在注释中已经表明。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
.h-bar {
	background: green;
	margin-top: 5px;
	color: "#000";
}
</style>
<script type="text/javascript" src="/angularJs/js/d3_v2.js"></script>
<script type="text/javascript">
   var data = [12,22,23,34,55,64,53,23];
   function render(data){
	   //enter
	   d3.select("body").selectAll("div.h-bar")
	   .data(data)
	   .enter()  //把没有绑定图片的数据全部选择出来(进行图片的绑定)
	             //just only data
	   .append("div")
	   .attr("class","h-bar")
	   .append("span");
	   
	   //更新
	   d3.select("body").selectAll("div.h-bar")
	   .data(data) //把绑定的所有数据和图片选择出来进行图片宽度的改变
	               //both data + image
	   .style("width",function(d){
		   return (d*3) + "px";
	   })
	   .select("span")
	   .text(function(d){
		   return d;
	   })
	   
	   //退出
	   d3.select("body").selectAll("div.h-bar")
	   .data(data)
	   .exit() //把没有绑定数据的图片选择出来
	           //just only image
	   .remove();
   }
   
   //每隔1.5s调用
   setInterval(function(){
	   data.shift();//更改数据,去掉数组的第一个元素
	   //更改数据,给数组末尾添加一个随机的数据
	   data.push(Math.round(Math.random() * 100));
	   render(data);
   },1500);
   render(data);
</script>

</head>
<body>
</body>
</html>
分享到:
评论

相关推荐

    D3-3 进入,更新,退出模式例子(函数作为数据)

    在D3.js库中,进入、更新和退出模式是数据绑定和可视化操作的核心概念,尤其在处理动态数据时显得尤为重要。这些模式使得开发者能够高效地根据数据的变化来更新DOM元素,确保图形与数据始终保持同步。 1. **进入...

    3D-d3-octree.zip

    《3D-d3-octree.zip:探索三维空间的精细划分——基于d3.js的八叉树实现》 在数字化的世界里,3D建模已经成为技术领域的关键组成部分,广泛应用于视频游戏、3D打印、虚拟现实(VR)等多个领域。3D-d3-octree.zip这...

    使用d3-force、d3-zoom、d3-drag绘制的图像

    1. **d3-force**:这是D3.js中的一个模块,用于创建基于物理模拟的力导向布局。力导向布局常用于网络图或关系图的可视化,其中节点和边通过模拟力相互作用。在这个案例中,`d3.forceSimulation()`函数用于初始化模拟...

    Node.js-d3-fetch这个模块提供基于Fetch之上的便捷解析

    1. **简洁的API设计**:`d3-fetch`的API设计与Fetch API保持一致,同时增加了对数据解析的支持。例如,可以使用`d3.fetch(url).then(response =&gt; response.json())`轻松获取JSON数据。 2. **自动解码**:对于文本...

    前端项目-d3-tip.zip

    d3-tip库主要解决的问题是在D3.js图表中添加自定义的提示信息,这些提示通常在鼠标悬停在特定数据点上时出现,提供额外的数据细节。通过d3-tip,开发者可以轻松创建出具有专业外观和丰富信息的提示框,使得图表更具...

    ext-d3-pivot-d3-component.zip

    在"ext-d3-pivot-d3-component.zip"压缩包中,包含了"ext-d3-component-base.zip"和"ext-pivot-d3-container.zip"两个子文件。前者可能包含了EXT-D3的基础组件和核心功能,比如图表类、数据适配器以及与EXT JS框架...

    前端项目-d3-dsv.zip

    除了解析,d3-dsv还提供了数据格式化功能,例如`d3.dsvFormatDelimiters()`可以设置自定义分隔符,`d3.csvFormat()`和`d3.tsvFormat()`则用于将JavaScript对象数组转换回DSV字符串。 6. **实际应用**: 在前端...

    前端项目-d3-time-format.zip

    在前端开发领域,数据可视化是不可或缺的一部分,而D3.js(Data-Driven Documents)作为一个强大的JavaScript库,专门用于创建交互式的数据可视化的网页应用。在这个名为"前端项目-d3-time-format.zip"的压缩包中,...

    前端项目-d3-array.zip

    **前端项目-d3-array** 是一个专注于数组操作的前端库,尤其在数据处理和可视化方面具有重要作用。D3(Data-Driven Documents)是JavaScript的一个强大库,它允许开发者使用数据来操作DOM(Document Object Model)...

    D3-Tips-and-Tricks

    D3-Tips-and-Tricks-Latest.pdf 最新版D3.js技法与教程,使用D3引擎进行前端数据可视化,一步一步学习D3的可视化编程

    前端项目-d3-path.zip

    此外,此项目可能还涉及到了D3的其他功能,如选择集(selections)、数据绑定(data binding)和数据驱动的更新模式,这些都是D3.js的核心概念。通过将数据与DOM元素绑定,当数据发生变化时,图形会自动更新,实现...

    前端项目-d3-interpolate.zip

    【前端项目-d3-interpolate.zip】是一个包含使用D3.js库进行数据插值的前端项目。D3.js,全称Data-Driven Documents,是一个强大的JavaScript库,它允许开发者使用数据来操作DOM(Document Object Model),进而创建...

    前端项目-d3-selection.zip

    8. **模块化设计**:D3.js库是模块化的,除了d3-selection,还有其他如d3-scale、d3-axis、d3-shape等模块,分别处理不同的功能,如尺度、坐标轴和形状绘制,可以根据项目需求按需引入。 这个“前端项目-d3-...

    前端项目-d3-composite-projections.zip

    【标题解析】:“前端项目-d3-composite-projections.zip”这个标题表明这是一个关于前端开发的项目,主要聚焦在D3库的一个特定功能——复合投影(Composite Projections)。D3.js是一个强大的JavaScript库,用于...

    D3-U型非接触式开发包 D3U

    D3-U型非接触式开发包是一款专为开发者设计的工具,主要用于实现非接触式的交互功能,如RFID(无线频率识别)技术的应用。这款开发包涵盖了多种编程语言的支持,包括VB(Visual Basic)、Java和C等,为开发者提供了...

    d3-timeline, 用于d3的简单JS时间轴插件.zip

    d3-timeline, 用于d3的简单JS时间轴插件 #d3-timeline 一个简单的d3时间线插件。获取类似于 对于看起来像var testData = [ {label: "person a", times: [ {"starting_time": 1355

    D3思维导图案例+二叉树数据转json数组

    本案例聚焦于如何将服务端提供的二叉树数据结构转化为D3.js能够理解的JSON数组格式,以便实现思维导图的展示。在实际应用中,二叉树是一种常见的数据结构,它由节点组成,每个节点有两个子节点,通常表示为左子节点...

    前端项目-d3-transition.zip

    本项目"前端项目-d3-transition.zip"专注于D3的过渡动画功能,这在创建动态和引人入胜的数据可视化中扮演着至关重要的角色。 D3的过渡功能允许我们平滑地改变SVG元素或HTML元素的属性,如位置、大小、颜色等,随着...

Global site tag (gtag.js) - Google Analytics