一、D3画图简介

D3 是最流行的可视化库之一,它被很多其他的表格插件所使用。它允许绑定任意数据到DOM,然后将数据驱动转换应用到Document中。你可以使用它用一个数组创建基本的HTML表格,或是利用它的流体过度和交互,用相似的数据创建惊人的SVG条形图。原谅我上面这句是从网上抄的,语文不太好。反正说白了,D3就是一个用来在web界面画图的库。有了它我们画各种图形和坐标轴都更加方便了。

二、使用的基本函数

1. 元素选择函数

在D3中对HTML元素选取主要用到select和selectAll两个函数。select用于选取单个元素,selectAll用于选取页面中所有的该元素。

函数原型:d3.select()

函数参数:HTML元素

函数返回值:选择的HTML元素对象。

示例: var  p = d3.select("p");   //选择页面中的第一个<p>元素

函数原型:d3.selectAll()

函数参数:HTML元素

函数返回值:选择的HTML元素对象。

示例: var p = d3.selectAll("p");  //选择页面中所有的<p>元素

使用方式列举:

(1)选取单个元素

<body>
<p></p>
<body> d3.select("p">
.text("测试"); //输出:测试

(2)选取所有元素

<body>
<p></p>
<p></p>
</body> d3.selectAll("p")
.text(function(v,i){
return "测试" + i;
})
//输出: 测试0
// 测试1

(3)根据id选取元素

<body>
<p></p>
<p id="ceshi"></p>
</body> d3.select("#ceshi")
.text("ID选取"); //输出:ID选取

(4)根据class选取元素

<body>
<p></p>
<p class="ceshi"></p>
</body> d3.select(".ceshi")
.text("class测试");

2. 数据绑定函数

(1)datum函数

函数原型:datum()

函数功能:绑定单个数据到选择集

示例:

<body>
<p></p>
<p></p>
</body> var str = "ceshi"
d3.selsetAll("body")
.datum(str)
.text (function(v,i){
return "第" + i + "个元素是" + v;
})
//输出:
//第0个元素是ceshi
//第1个元素是ceshi

(2)data函数

函数原型:data()

函数功能:将一个数组绑定到选择集

示例:

<body>
<p></p>
<p></p>
</body> var str = ["ceshi", "data"]
d3.selsetAll("body")
.datum(str)
.text (function(v,i){
return "第" + i + "个元素是" + v;
})
//输出:
//第0个元素是ceshi
//第1个元素是data

3. 元素添加函数

函数原型:append()

函数功能:在选择集后面添加元素

示例:

<body>
<p>段落1</p>
</body> d3.select(p)
.append("p")
.text("段落2");
//显示:
//段落1
//段落2

函数原型:insert()

函数功能:在选择集前面添加元素

示例:

<body>
<p>段落1</p>
</body> d3.select(p)
.insert("p")
.text("段落2");
//显示:
//段落2
//段落1

4. 元素移除函数

函数原型:remove()

函数功能:移除元素

示例:

<body>
<p>段落1</p>
<p>段落2</p>
</body> d3.select(p)
.remove();
//显示:
//段落2

这章就先介绍到这里,下一章将会将一些基本图形的画法。有点累了,下班回家。

D3画图学习一的更多相关文章

  1. D3.js学习(一)

    从今天开始我将和大家一起学习D3.js(Data-Driven Documents),由于国内关于D3的学习资料少之又少,所以我觉得很有必要把自己学习过程记录下来,供同学们参考,如果文章有有哪些表达有 ...

  2. 数据可视化的优秀入门书籍有哪些,D3.js 学习资源汇总

    习·D3.js 学习资源汇总 除了D3.js自身以外,许多可视化工具包都是基于D3开发的,所以对D3的学习就显得很重要了,当然如果已经有了Javascript的经验,学起来也会不费力些. Github ...

  3. D3.js学习(六)

    上节我们学习了如何绘制多条曲线, 以及给不同的曲线指定不同的坐标系.在这节当中,我们会对坐标轴标签相关的处理进行学习.首先,我们来想一个问题, 如何我们的x轴上的各个标签的距离比较近,但是标签名又比较 ...

  4. D3.js学习(五)

    上一节我们已经学习了如何设置填充区域,其实理解了他的实现原理还是非常简单了.这一节中, 我们主要学习多条曲线的绘制,以及给不同的曲线指定不同的纵坐标. 新的数据 由于我们要画两条曲线,所以我们要在原来 ...

  5. D3.js学习(四)

    上一节我们已经学习了线条样式和格栅的绘制,在这一节中我们将要根据之前绘制的线条对图表进行填充,首先来看一下我们的目标吧 在这个图表中,我们对位于线条下面的空间进行了填充,那么,如何改做到呢? 设置填充 ...

  6. D3.js学习(三)

    上一节中,我们已经画出了图表,并且给图表添加了坐标轴的标签和标题,在这一节中,我们将要学习几个绘制线条不同特性的几个函数,以及给图表添加格栅.ok,进入话题! 如何给线条设置绘制的样式? 这个其实非常 ...

  7. 精通D3.js学习笔记(1)基础的函数

    买了本吕大师的d3可视化.最近来学习一下,做个笔记.   1.选择元素  select(第一元素) 和selectAll(全部的元素)      类似css的选择器.也可以是dom选中的. var i ...

  8. 【持续更新】D3 的学习资料

    经常有朋友问哪里有关于 D3 的比较好的学习资料,现整理成此文.以后找到更多更好的,会不断更新本文. 我是在2013年开始接触 D3 的,当时就觉得这个工具很好玩.至今,学习资料整理了不少.如果有朋友 ...

  9. D3.js学习记录【转】【新】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. 《JavaScript高级程序设计》读书笔记

    Javascript由以下三部分组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript组成部分: 语法.类型.语句.关键字.保留子.操作符.对象. ...

  2. Java学习----你的选择是什么-条件结构

    import java.util.Scanner; public class Student { public static void main(String[] args) { byte money ...

  3. IOC-控制反转(Inversion of Control),也成依赖倒置(Dependency Inversion Principle)

    基本简介 IoC 亦称为 “依赖倒置原理”("Dependency Inversion Principle").差不多所有框架都使用了“倒置注入(Fowler 2004)技巧,这可 ...

  4. win7 IIS7.0 【IIS 管理器无法验证此内置帐户是否有访问权】

    异常信息: 服务器配置为将传递身份验证和内置帐户一起使用,以访问指定的物理路径.但是,IIS 管理器无法验证此内置帐户是否有访问权.请确保应用程序池标识具有该物理路径的读取访问权.如果此服务器加入到域 ...

  5. 死亡的协议--- Pieter Hintjens (ZeroMQ作者)

    过去几年中用zeromq写过几个系统系统.对ZeroMQ强大和灵活印象非常深刻.在阅读zeromq guide文档时候.发现作者整理各种通信模式非常经典和实用,可以作为分布式通信的教科书来看.第一次见 ...

  6. C程序设计语言练习题1-23

    练习1-23 编写一个删除C语言程序中所有的注释语句.要正确处理带引号的字符串与字符常量.在C语言中,注释不能嵌套. 代码如下: #include <stdio.h> // 包含标准库的信 ...

  7. 读取word文件.选择了TextParse

    待续! 代码还没分离出来.. 分离后会上传上来 不支持wps 文件 . ]]>

  8. SPSS相关和回归分析

    1.语文和数学成绩都受IQ的影响而且相互影响,则分析语文和数学的关系时需要偏相关分析.2.距离分析用于探索相似性,比如给了某年的12个月三个城市的气温数据,然后分析,会得到一个相似性矩阵,这是个对称阵 ...

  9. UART RS232 的CTS与RTS

    目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(M ...

  10. LBS 与 GPS 定位之间的区别

    什么是LBS定位?   LBS英文全称为Location Based Services, 它包括两层含义:首先是确定移动设备或用户所在的地理位置:其次是提供与位置相关的各类信息服务.意指与定位相关的各 ...