2010-11-09 01:34:14 +03:00
|
|
|
# D3
|
2010-09-29 04:36:53 +04:00
|
|
|
|
2010-11-09 01:34:14 +03:00
|
|
|
**D3** is a small, free JavaScript library for manipulating HTML documents
|
2010-09-29 04:36:53 +04:00
|
|
|
based on data. D3 can help you quickly visualize your data as HTML or SVG,
|
2010-11-09 01:34:14 +03:00
|
|
|
handle interactivity, and incorporate smooth transitions and staged animations
|
2010-11-09 01:51:07 +03:00
|
|
|
into your pages. You can use D3 as a visualization framework (like Protovis),
|
|
|
|
or you can use it to build dynamic pages (like jQuery).
|
2010-11-09 01:34:14 +03:00
|
|
|
|
2010-11-09 01:51:07 +03:00
|
|
|
### Browser Support
|
2010-11-09 01:34:14 +03:00
|
|
|
|
|
|
|
D3 should work on any browser, with minimal requirements such as JavaScript
|
2011-02-25 21:01:34 +03:00
|
|
|
and the [W3C DOM](http://www.w3.org/DOM/) API. By default D3 requires the
|
|
|
|
[Selectors API](http://www.w3.org/TR/selectors-api/) Level 1, but you can
|
|
|
|
preload [Sizzle](http://sizzlejs.com/) for compatibility with older browsers.
|
|
|
|
Some of the included D3 examples use additional browser features, such as
|
2010-11-09 01:34:14 +03:00
|
|
|
[SVG](http://www.w3.org/TR/SVG/) and [CSS3
|
|
|
|
Transitions](http://www.w3.org/TR/css3-transitions/). These features are not
|
2011-02-25 21:01:34 +03:00
|
|
|
required to use D3, but are useful for visualization! D3 is not a
|
2010-11-09 01:34:14 +03:00
|
|
|
compatibility layer. The examples should work on Firefox, Chrome (Chromium),
|
|
|
|
Safari (WebKit), Opera and IE9.
|
2010-11-05 05:02:08 +03:00
|
|
|
|
2011-02-25 21:01:34 +03:00
|
|
|
Note: Chrome has strict permissions for reading files out of the local file
|
2011-03-30 20:06:50 +04:00
|
|
|
system. Some examples use AJAX which works differently via HTTP instead of local
|
|
|
|
files. For the best experience, load the D3 examples from your own machine via
|
|
|
|
HTTP. Any static file web server will work; for example you can run Python's
|
|
|
|
built-in server:
|
2010-11-05 05:02:08 +03:00
|
|
|
|
2011-03-30 18:56:04 +04:00
|
|
|
python -m SimpleHTTPServer 8888
|
2010-11-05 05:02:08 +03:00
|
|
|
|
2011-03-30 20:06:50 +04:00
|
|
|
Once this is running, go to: <http://localhost:8888/examples/>
|
2011-08-18 20:54:50 +04:00
|
|
|
|
|
|
|
### Development Setup
|
|
|
|
|
|
|
|
This repository should work out of the box if you just want to create new
|
|
|
|
visualizations using D3. On the other hand, if you want to extend D3 with new
|
|
|
|
features, fix bugs, or run tests, you'll need to install a few more things.
|
|
|
|
|
|
|
|
D3's test framework uses [Vows](http://vowsjs.org), which depends on
|
|
|
|
[Node.js](http://nodejs.org/) and [NPM](http://npmjs.org/). If you are
|
|
|
|
developing on Mac OS X, an easy way to install Node and NPM is using
|
|
|
|
[Homebrew](http://mxcl.github.com/homebrew/):
|
|
|
|
|
|
|
|
brew install node
|
|
|
|
brew install npm
|
|
|
|
|
|
|
|
Next, from the root directory of this repository, install D3's dependencies:
|
|
|
|
|
2011-09-28 00:45:34 +04:00
|
|
|
make install
|
2011-08-18 20:54:50 +04:00
|
|
|
|
2011-09-28 00:45:34 +04:00
|
|
|
You can see the list of dependencies in package.json. NPM will install the
|
|
|
|
packages in the node_modules directory.
|