D3基础---简介和数据

D3.js是一种数据操作类型的javascript库(也可视其为插件);结合HTML,SVG和CSS,D3可以图形化的,生动的展现数据。

d3获取:http://d3js.org/

在代码文件中引入D3:

<script type="text/javascript" src="d3.v3/d3.v3.js"></script>

添加元素语法:

d3.select("body").append("p").text("New paragraph!");

说明:选择body标签,为之添加一个p标签,并设置它的内容为New paragraph!

你可以将链接选择换行,这样代码结构更清晰:

1 d3.select("body")
2      .append("p")
3      .text("New paragraph!"); 

还可以避免使用链接语法(这个一般不会用上)

1 var body = d3.select("body");
2 var p = body.append("p");
3 p.text("New paragraph!"); 

D3可以处理哪些类型的数据

它会接受几乎任何数字数组,字符串,或对象(本身包含其他数组或键/值对)。
它可以处理JSON和GeoJSON
甚至有一个内置的方法来帮助你CSV文件中加载数据。

我们要做两件事:数据准备;元素选择。

 1  <!DOCTYPE html>
 2   <html>
 3     <head>
 4       <title>testD3-1.html</title>
 5      <script type="text/javascript" src="d3.v3.js"></script>
 6     </head>
 7
 8     <body>
 9       This is my HTML page. <br>
10    </body>
11    <script type="text/javascript">
12      var dataset = [ 5, 10, 15, 20, 25 ];
13      d3.select("body").selectAll("p")
14        .data(dataset)
15        .enter()
16        .append("p")
17        .text("New paragraph!");
18    </script>
19 </html>  

说明:

d3.select("body")
查找DOM中的body和准备链中的下一个步骤的参考。

selectAll("p")
选择DOM中的所有段落。由于没有存在,这将返回一个空的选择。这个选择为空,代表段落很快就会存在。

data(dataset)
计数和分析我们的数据值。有五个值,之后我们的数据集执行了5次,每个值一次。

enter()
要创建新的数据绑定的元素,你必须使用enter() 。这个方法会在DOM中,然后被传递给它的数据。如果有更多的数据值比相应的DOM元素,然后进入() 创建一个新的占位符元素,关闭的引用到这个新的占位符链中的下一个步骤。

append("p")
以占位符enter() 到DOM中插入一个p元素。

text("New paragraph!")
将新创建的p和插入一个文本值的参考。

使用数据

说明:

用一个d表示当前数据值。

可以使用一个匿名函数处理这个数据。

接上面一个例子可以显示数据值,还可以根据数据值来修改颜色值做不同的数据呈现。

示例:

 1 <!DOCTYPE html>
 2 <html>
 3   <head>
 4         <meta charset="utf-8">
 5         <title>testD3-3.html</title>
 6         <script type="text/javascript" src="d3.v3.js"></script>
 7     </head>
 8     <body>
 9         <script type="text/javascript">
10
11             var dataset = [ 5, 10, 15, 20, 25 ];
12
13             d3.select("body").selectAll("p")
14                 .data(dataset)
15                 .enter()
16                 .append("p")
17                 .text(function(d) {
18                     return "I can count up to " + d;
19                 })
20                 .style("color", function(d) {
21                     if (d > 15) {    //Threshold of 15
22                         return "red";
23                     } else {
24                         return "black";
25                     }
26                 });
27
28         </script>
29     </body>
30 </html>  

效果:

参考书籍:《数据可视化实战》

D3基础---简介和数据,布布扣,bubuko.com

时间: 2024-10-06 22:03:01

D3基础---简介和数据的相关文章

D3基础--数轴

转载请注明出处! 概述: 与比例尺类似,D3的数轴实际上也使用来定义参数的函数.但与比例尺不同的是,调用数轴函数并不会返回值,而是会生成数轴相关的可见元素.包括:轴线,标签和刻度. 但是要注意数轴函数只适应于SVG图形,因为他们生成的都是SVG元素,同样,数轴是设计与定量比例尺(与序数比例尺相对)配合使用的. 定义和创建X轴: 1 //定义x轴 2 3 var xAxis = d3.svg.axis() 4 .scale(xScale) 5 .orient("bottom"); 6 7

0基础学习大数据你需要了解的学习路线和方向

现在大数据这么火,各行各业想转行大数据,那么问题来了,该往哪方面发展,哪方面最适合自己? 首先从字面来了解一下大数据 大数据 (巨量数据集合(IT行业术语)) 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产. 大数据的5V特点(IBM提出):Volume(大量).Velocity(高速).Variety(多样).Value(低价值密度).Veracit

Python 基础 —— 简介

Python 基础 简介 python的诞生 创建人: Guido van Rossum (荷兰人) 时 间: 1989年 python语言的应用领域: 系统运维 网络编程(搜索引擎,爬虫,服务器编程) 科学计算 人工智能,机器人 web 开发 云计算 大数据及数据库编程 教育 游戏,图像处理 其它... 优缺点: 优点 缺点 面向对象(Java, C++, Python, C#, Swift) 与 C/C++相比,执行速度不够快 免费 不能封闭源代码 可移植 (Windows, Linux,

Android基础知识(6)—数据持久化之数据存储

阅读前,请浏览此处上方目录. Android基础知识(6)-数据持久化之数据存储 本章内容为个人笔记,参考书籍有:<疯狂的android>第3版.<第一行代码> 首先,我们要知道什么是数据持久化. 数据持久化就是指那些内存中的瞬时数据保存到存储设备中,保证即使手机在关机的情况下,这些数据不会丢失.保存在内存中的数据是处于瞬时状态,保存在存储设备中的数据是处于持久状态.持久化技术则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换. Android系统主要提供了三种方式用于简

MySQL基础学习之数据查询

一般查询 SELECT * FROM 表名 SELECT 属性名  FROM  表名 条件查询 SELECT 属性名 FROM 表名  WHERE 条件表达式 查询数据值1,数据值2的表单 SELECT *  FROM  表名  WHERE  属性名 [NOT] IN(数据值1,数据值2....) 查询数值1,数据2的表单 SELECT *  FROM  表名  WHERE  属性=值  AND 属性1=值1 查询数值1到数值2之间的表单 SELECT *  FROM  表名  WHERE  属

SQL Server 基础 03 查询数据基础

查询数据 简单的查询 1 create table stu_info 2 ( 3 sno int not null 4 ,sname varchar(20) not null 5 ,sex varchar(2) not null 6 ,birth varchar(20) not null 7 ,email varchar(20) not null 8 ,telephone int not null 9 ,depart varchar(20) not null 10 ) 11 12 13 sele

SQLite 基础简介

什么是SQLite ? -> SQLite简介 SQLite 是一个进程内的库,是一种轻量级的.自给自足的.无服务器的.无需配置的,事务性的SQL数据库引擎.和他其他的数据库一样,SQLite引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接.SQLite可以直接访问其存储文件. SQLite 是一个开源的嵌入式关系数据库. 其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保SQLite的二进制

MySQL基础学习之数据表

查看数据表 SHOW TABLE; 查看数据表详细结构 SHOW CREATE TABLE 表名\G; 创建数据表 CREATE TABLE 表名(数据名 类型,数据名1  类型2); CREATE TABLE department ( d_id INT(10) , d_name VARCHAR(20) , function VARCHAR(20) , address VARCHAR(30) ); 删除数据表 DROP TABLE 表名; 修改数据表 修改数据表名        ALTER TA

1.C#面向对象基础简介

学习核心内容: 面向对象的三个特性:封装.继承.多态 访问级别:用处在于控制成员在那些地方可以访问,这样达到面向对象封装的目的. 常用级别:public (任何地方都可以访问) private(默认级别.只能由本类中的成员访问.) 1.打开软件: 新建项目——windows——控制台应用程序——类1 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespa