-
Notifications
You must be signed in to change notification settings - Fork 348
Home
D3 (Data-Driven Documents 或者叫D3.js)是一个基于web标准的JavaScript可视化库。D3可以借助SVG,Canvas以及HTML将你的数据生动的展现出来。D3结合了强大的可视化交互技术以及数据驱动DOM的技术结合起来,让你可以借助于现代浏览器的强大功能自由的对数据进行可视化。
如果使用npm
,则可以通过npm install d3
来安装。此外还可以下载最新版,最新版支持AMD、CommonJS以及vanilla环境。你也可以直接从 d3js.org, CDNJS, 或者 unpkg 加载。比如:
<script src="https://d3js.org/d3.v4.js"></script>
压缩版:
<script src="https://d3js.org/d3.v4.min.js"></script>
你也可以单独使用d3中的某个模块,比如单独使用d3-selection:
<script src="https://d3js.org/d3-selection.v1.min.js"></script>
D3基于ES2015 modules开发。 可以使用Roolup, webpack或者其他你偏爱的打包工具进行构建。在一个符合ES2015的应用中导入D3或者D3的某些模块:
import {scaleLinear} from "d3-scale";
或者导入D3的全部功能并且设置命名空间 (这里是 d3
):
import * as d3 from "d3";
在Node环境中:
var d3 = require("d3");
你也可以导入多个模块然后将这些模块集合到d3
对象中,此时使用 Object.assign:
var d3 = Object.assign({}, require("d3-format"), require("d3-geo"), require("d3-geo-projection"));
D3支持“现代”浏览器,也就是除IE8及以下的浏览器。D3针对Firefox,Chrome,Safari,Opera,IE9 +,Android和iOS进行测试,D3的一部分功能能在旧版的浏览器中运行,因为D3的核心功能对浏览器的要求比较低:和 W3C DOM API。D3使用 Level 1级Selectors API,但是可以通过预先加载Sizzle来实现兼容。现代浏览器对SVG和CSS3 Transition 的支持比较好。所以D3不支持更低级别的浏览器,如果你的浏览器不支持这些标准,那么祝你好运...
D3也可以运行在Node 和 Web workers中. 在Node环境中使用DOM的时候,必须要提供自己的DOM实现。推荐使用JSDOM,为了避免定义全局document
,建议将DOM传递给d3.select或者将NodeList传递给d3.selectAll,如下:
var d3 = require("d3"),
jsdom = require("jsdom");
var document = jsdom.jsdom(),
svg = d3.select(document.body).append("svg");
由于浏览器的安全限制,不能直接读取本地文件。在本地开发的时候,必须要运行一个服务器环境而不是使用file://
, 推荐使用Nodejs的http-server,安装方法:
npm install -g http-server
运行:
http-server &
然后会在当前目录启动一个 http://localhost:8080 的服务。