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

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

    博客分类:
  • 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 = [
               {width:10,color:23},
               {width:15,color:33},
               {width:30,color:40},
               {width:50,color:60},
               {width:80,color:22},
               {width:65,color:10},
               {width:55,color:5},
               {width:30,color:30},
               {width:20,color:60},
               {width:10,color:90},
               {width:8,color:10}
               ];
   
   //随机获取一定范围的颜色值
   var colorScale = d3.scale.linear().domain([0,100]).range(["#add8e6","blue"]);
   
   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)
	   .attr("class","h-bar")
	   .style("width",function(d){
		   return (d.width + 5) + "px";
	   })
	   .style("background-color",function(d){
		   return colorScale(d.color);
	   })
	   .select("span")
	   .text(function(d){
		   return d.width;
	   })

	   
	   //退出
	   d3.select("body").selectAll("div.h-bar")
	   .data(data)
	   .exit() //把没有绑定数据的图片选择出来
	           //just only image
	   .remove();
   }
   
   function randomValue(){
	   return Math.round(Math.random() * 100);
   }
   
   //每隔1.5s调用
   setInterval(function(){
	   data.shift();//更改数据,去掉数组的第一个元素
	   //更改数据,给数组末尾添加一个随机的数据
	   data.push({width:randomValue(),color:randomValue()});
	   render(data);
   },1500);
   render(data);
</script>

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

相关推荐

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

    在"D3-1 进入,更新,退出模式例子(数组作为数据)"这个例子中,假设我们有一个数组,其中包含一些数值,我们要根据这个数组创建一个动态的SVG点图。首先,我们会选择SVG画布中的所有`&lt;circle&gt;`元素,然后将其与...

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

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

    3D-d3-octree.zip

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

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

    3. **数据解析器**:`d3-fetch`提供了内置的解析器,如`d3.json()`, `d3.csv()`, `d3.tsv()`,可以直接将返回的响应体转换为相应的数据结构,如JavaScript对象或数组。 4. **错误处理**:当请求失败时,`d3-fetch`...

    前端项目-d3-dsv.zip

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

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

    在本文中,我们将深入探讨如何使用D3.js库中的d3-force、d3-zoom和d3-drag模块来创建交互式的图像。D3.js(Data-Driven Documents)是一个强大的JavaScript库,它允许数据与SVG(可缩放矢量图形)元素绑定,从而创建...

    前端项目-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框架...

    3D-d3-force-3d.zip

    3D-d3-force-3d.zip,使用速度verlet积分在1d、2d或3d中强制定向图形布局。,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。

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

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

    前端项目-d3-interpolate.zip

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

    前端项目-d3-path.zip

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

    前端项目-d3-selection.zip

    在前端开发领域,D3.js(Data-Driven Documents)是一个非常强大的JavaScript库,它允许开发者用数据来操作文档对象模型(DOM)。这个“前端项目-d3-selection.zip”压缩包文件显然是一个专注于D3库中“d3-selection...

    d3-relationshipgraph, 使用d3js可视化父对象关系的框架.zip

    d3-relationshipgraph, 使用d3js可视化父对象关系的框架 d3-relationshipgraph 用于创建 D3.js的父级子关系的框架。示例在这里查看一个工作示例 。如果你已经使用 d3-relationshipgraph,可以编辑这个自述文件并为你...

    D3-Tips-and-Tricks

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

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

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

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

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

    前端项目-d3-collection.zip

    总之,“前端项目-d3-collection.zip”包含的d3-collection模块是D3.js库的一个重要补充,为前端开发者提供了强大的数据管理工具。它简化了数据结构的使用,提高了代码效率,并促进了复杂数据可视化应用的开发。无论...

    前端项目-d3-ease.zip

    **前端项目-d3-ease.zip** 是一个包含前端开发中使用的D3.js库的一个子集,专注于平滑动画的“ease”功能。D3.js(Data-Driven Documents)是一个强大的JavaScript库,它允许开发者用数据操作DOM(文档对象模型),...

Global site tag (gtag.js) - Google Analytics