初学D3.js---数据集与选择数据

一:什么是D3?

d3,简单来说,就是一种基于javascript的数据可视化库,其效果一般展现在网页中,可交互。

使用方法:首先需下载d3相应的库,导入方法:<script src="d3库的路径"></script>。也可以在联网的情况下直接写d3的下载路径,此时不用下载。

二:数据集

在js中选择数据通常采用以下方式(假定选择的是所有p标签):

<body>
	<p id="first">I can up to 5</p>
	<p>I can up to 10</p>
	<p>I can up to 15</p>
	<script>
		//选择所有数据
		p=document.getElementsByTagName("p");
		//改变指定数据的颜色
		p[1].style.color="red";
		//选择单个数据
		f=document.getElementById("first");
		f.style.color="cyan";
	</script>
</body>

使用d3选择数据:

<body>
	<p id="first">I can up to 5</p>
	<p>I can up to 10</p>
	<p>I can up to 15</p>
	<p>I can up to 20</p>
	<script>
		//选择所有数据
		ps=d3.select("body").selectAll("p");
		//改变ps的颜色
		ps.style("color","red");
		//改变指定数据的颜色
		ps.style("color",function(i){
			if(i==1){return "blue";}
		});
		//改变指定数据的颜色-----使用过滤器
		ps.filter(function(i){
			if(i==2){return true;}
		}).style("color","yellow");
		//选择单个数据
		f=d3.select("body").select("#first");
		f.style("color","cyan");
	</script>
 	</body>

那么,上述代码中的p和f即为D3中的数据集。其中,select表示选择一条数据作为数据集,selectAll表示选择多条数据作为数据集。

三:绑定数据

1.绑定单个数据(datum)

<body>
	<p id="first">I can up to 5</p>
	<p>I can up to 10</p>
	<p>I can up to 15</p>
	<script>
		var s=["JavaScript","Jquery","D3"];
		//选择所有数据
		p=d3.select("body").selectAll("p");
		//绑定数据
		var bind=p.datum(s);
		//显示数据
		bind.text(function(d,i){
			return "序号:"+i+",数据:"+d;
		});
	</script>
</body>

效果如下:

根据展示结果显示,那么当使用datum绑定数据时,数据集中的所有数据都会与要绑定的数据绑定。

2.绑定多个数据(data)

<body>
	<p id="first">I can up to 5</p>
	<p>I can up to 10</p>
	<p>I can up to 15</p>
	<script>
		var dataset=[7,8,9];
		//选择所有数据
		p=d3.select("body").selectAll("p");
		//绑定数据
		var bind=p.data(dataset);
		//显示数据
		bind.text(function(d,i){
			return "序号:"+i+",数据:"+d;
		});
	</script>
</body>

效果如下:

那么,根据结果可以知道,当绑定多个数据的数据集时,要绑定的数据会与原有数据中的数据一一对应进行绑定。

由于要绑定的数据会与原有数据中的数据一一对应进行绑定,那么在绑定数据中的过程中就可能会出现要绑定的数据长度与原有数据长度不一致的情况,所以有以下处理方式:

(1)要绑定的数据长度=原有数据长度

此种情况不用增加删除,直接绑定数据即可。

(2)要绑定的数据长度>原有数据长度(enter)

<body>
	<p id="first">I can up to 5</p>
	<p>I can up to 10</p>
	<p>I can up to 15</p>
	<script>
		var dataset=[7,8,9,10];
		//选择所有数据
		p=d3.select("body").selectAll("p");
		//绑定数据
		var bind=p.data(dataset);
		//显示数据
		bind.text(function(d,i){
			return "序号:"+i+",数据:"+d;
		});
		//处理多余数据
		var add=bind.enter();
		add.append("p").text(function(d,i){
			return "序号:"+i+",数据:"+d;
		});
	</script>
</body>

效果如下:

那么,如果不对多余数据进行处理,效果与(1)效果相同。

(3)要绑定的数据长度<原有数据长度(exit)

如果不对原有数据中多余数据进行处理(假定要绑定的数据长度为2,原有数据长度为3),效果如下:

那么此时,如果不需要原有数据的多余数据,可以采取以下方式进行处理:

<body>
	<p id="first">I can up to 5</p>
	<p>I can up to 10</p>
	<p>I can up to 15</p>
	<script>
		var dataset=[7,8];
		//选择所有数据
		p=d3.select("body").selectAll("p");
		//绑定数据
		var bind=p.data(dataset);
		//显示数据
		bind.text(function(d,i){
			return "序号:"+i+",数据:"+d;
		});
		//处理多余数据
		var del=bind.exit();
		del.remove();
	</script>
</body>

效果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: mrcrowl.easy-less-1.7.2是一个用于编译Less文件的工具。Less是一种基于CSS的扩展语言,它提供了一些常见的CSS缺失特性,如变量、嵌套、混合、函数等,使得编写和维护样式代码更加方便和灵活。 mrcrowl.easy-less-1.7.2通过解析Less文件并将其转换为普通的CSS文件,实现了对Less语法的支持。它提供了一个简单的界面来配置和操作编译过程,使得使用者无需了解复杂的编译过程也能轻松地将Less转换为CSS。 使用mrcrowl.easy-less-1.7.2,我们可以轻松创建一个Less项目,并定义变量和混合,以及嵌套的样式规则。通过编译,mrcrowl.easy-less-1.7.2将会自动将Less文件转换为生成对应的CSS文件,供我们在网页中使用。 除了基本的编译功能之外,mrcrowl.easy-less-1.7.2还支持一些高级特性,如自动压缩合并、自动添加浏览器兼容前缀等。这些特性使得我们在开发过程中能够更加高效地编写样式代码,并减少了手动处理的工作量。 总而言之,mrcrowl.easy-less-1.7.2是一个简单易用的Less编译工具,它为开发者提供了方便的方式来将Less代码转换为CSS,提高了样式代码的可维护性和效率。无论是个人项目还是团队开发,mrcrowl.easy-less-1.7.2都是一个非常有用的工具。 ### 回答2: mrcrowl.easy-less-1.7.2是一个用于开发Web应用程序的简化CSS编写工具。它是基于Less预处理器构建的,Less是一种CSS扩展语言,通过它可以更方便地编写和管理CSS代码。 mrcrowl.easy-less-1.7.2的主要目的是简化CSS编写的过程。它提供了一种更加简洁和有层次结构的方式来组织和编写CSS代码。通过使用变量、混合(Mixins)、嵌套规则和其他功能,开发人员可以更容易地管理和重用样式。此外,它还提供了一些额外的功能,比如自动前缀、颜色函数和数学运算,进一步简化了CSS开发。 mrcrowl.easy-less-1.7.2具有良好的兼容性和易用性。开发人员可以将其集成到任何基于Web的项目中,并与其他前端开发工具和框架一起使用。它可以根据开发人员的需求进行定制,以满足特定的项目需求。 总而言之,mrcrowl.easy-less-1.7.2是一个强大而方便的CSS编写工具,它提供了许多简化CSS开发的功能和特性,使开发人员能够更高效地编写和管理样式。无论是初学者还是有经验的开发人员,都可以从中受益,并节省大量的开发时间和精力。 ### 回答3: mrcrowl.easy-less-1.7.2是一个用于编译Less代码的工具。Less(Leaner Style Sheets)是一种动态样式语言,它扩展了CSS的功能,使得样式的编写更加简洁和灵活。 使用mrcrowl.easy-less-1.7.2,可以将Less文件编译成CSS文件。这样可以在开发过程中使用Less语法来编写样式,而无需在浏览器中进行实时编译。编译后的CSS文件可以直接用于网页的样式调用,使网页加载速度更快。 mrcrowl.easy-less-1.7.2的使用非常简单。首先,需要将Less文件放置在指定的目录中。然后,使用命令行工具或者脚本运行mrcrowl.easy-less-1.7.2,指定Less文件的路径和编译后的CSS文件的保存路径。工具会自动读取Less文件,并将其编译成CSS文件。 mrcrowl.easy-less-1.7.2还支持一些额外的功能。例如,可以设置编译选项,包括压缩CSS,生成Source Map等。还可以监听Less文件的变化,一旦文件发生修改,工具会自动重新编译,提高开发效率。 总的来说,mrcrowl.easy-less-1.7.2是一个实用的Less编译工具,可以简化前端开发过程中的样式编写工作。使用它,我们可以更加便捷地使用Less语法,提高开发效率和网页加载速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值