diff --git a/README.md b/README.md index c0a8ee17..c7a34699 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This branch contains the prerelease of D3 4.0. This API is unstable and may chan If you use NPM, `npm install d3@next`. Otherwise, download the [latest release](https://github.com/mbostock/d3/releases/latest). The released bundle supports AMD, CommonJS, and vanilla environments. Create a custom build using [Rollup](https://github.com/rollup/rollup) or your preferred bundler. You can also load directly from [d3js.org](https://d3js.org): ```html - + ``` ## API Reference @@ -19,6 +19,7 @@ If you use NPM, `npm install d3@next`. Otherwise, download the [latest release]( * [Delimiter-Separated Values](#delimiter-separated-values) * [Dispatches](#dispatches) * [Easings](#easings) +* [Hierarchies](#hierarchies) * [Interpolators](#interpolators) * [Number Formats](#number-formats) * [Paths](#paths) @@ -262,6 +263,66 @@ Easing functions for smooth animation. * [d3.easeBounceOut](https://github.com/d3/d3-ease#easeBounceOut) - reverse bounce easing. * [d3.easeBounceInOut](https://github.com/d3/d3-ease#easeBounceInOut) - symmetric bounce easing. +## [Hierarchies](https://github.com/d3/d3-hierarchy) + +Layout algorithms for visualizing hierarchical data. + +* [d3.hierarchy](#hierarchy) - constructs a root node from hierarchical data. +* [*node*.ancestors](#node_ancestors) - generate an array of ancestors. +* [*node*.descendants](#node_descendants) - generate an array of descendants. +* [*node*.leaves](#node_leaves) - generate an array of leaves. +* [*node*.path](#node_path) - generate the shortest path to another node. +* [*node*.sum](#node_sum) - evaluate and aggregate quantitative values. +* [*node*.sort](#node_sort) - sort all descendant siblings. +* [*node*.each](#node_each) - breadth-first traversal. +* [*node*.eachAfter](#node_eachAfter) - post-order traversal. +* [*node*.eachBefore](#node_eachBefore) - pre-order traversal. +* [*node*.copy](#node_copy) - copy a hierarchy. +* [d3.stratify](#stratify) - create a new stratify operator. +* [*stratify*](#_stratify) - construct a root node from tabular data. +* [*stratify*.id](#stratify_id) - set the node id accessor. +* [*stratify*.parentId](#stratify_parentId) - set the parent node id accessor. +* [d3.cluster](#cluster) - create a new cluster (dendrogram) layout. +* [*cluster*](#_cluster) - layout the specified hierarchy in a dendrogram. +* [*cluster*.size](#cluster_size) - set the layout size. +* [*cluster*.nodeSize](#cluster_nodeSize) - set the node size. +* [*cluster*.separation](#cluster_separation) - set the separation between leaves. +* [d3.tree](#tree) - create a new tidy tree layout. +* [*tree*](#_tree) - layout the specified hierarchy in a tidy tree. +* [*tree*.size](#tree_size) - set the layout size. +* [*tree*.nodeSize](#tree_nodeSize) - set the node size. +* [*tree*.separation](#tree_separation) - set the separation between nodes. +* [d3.treemap](#treemap) - create a new treemap layout. +* [*treemap*](#_treemap) - layout the specified hierarchy as a treemap. +* [*treemap*.tile](#treemap_tile) - set the tiling method. +* [*treemap*.size](#treemap_size) - set the layout size. +* [*treemap*.round](#treemap_round) - set whether the output coordinates are rounded. +* [*treemap*.padding](#treemap_padding) - set the padding. +* [*treemap*.paddingInner](#treemap_paddingInner) - set the padding between siblings. +* [*treemap*.paddingOuter](#treemap_paddingOuter) - set the padding between parent and children. +* [*treemap*.paddingTop](#treemap_paddingTop) - set the padding between the parent’s top edge and children. +* [*treemap*.paddingRight](#treemap_paddingRight) - set the padding between the parent’s right edge and children. +* [*treemap*.paddingBottom](#treemap_paddingBottom) - set the padding between the parent’s bottom edge and children. +* [*treemap*.paddingLeft](#treemap_paddingLeft) - set the padding between the parent’s left edge and children. +* [d3.treemapBinary](#treemapBinary) - tile using a balanced binary tree. +* [d3.treemapDice](#treemapDice) - tile into a horizontal row. +* [d3.treemapSlice](#treemapSlice) - tile into a vertical column. +* [d3.treemapSliceDice](#treemapSliceDice) - alternate between slicing and dicing. +* [d3.treemapSquarify](#treemapSquarify) - tile using squarified rows per Bruls *et. al.* +* [*squarify*.ratio](#squarify_ratio) - set the desired rectangle aspect ratio. +* [d3.partition](#partition) - create a new partition (icicle or sunburst) layout. +* [*partition*](#_partition) - layout the specified hierarchy as a partition diagram. +* [*partition*.size](#partition_size) - set the layout size. +* [*partition*.round](#partition_round) - set whether the output coordinates are rounded. +* [*partition*.padding](#partition_padding) - set the padding. +* [d3.pack](#pack) - create a new circle-packing layout. +* [*pack*](#_pack) - layout the specified hierarchy using circle-packing. +* [*pack*.radius](#pack_radius) - set the radius accessor. +* [*pack*.size](#pack_size) - set the layout size. +* [*pack*.padding](#pack_padding) - set the padding. +* [d3.packSiblings](#packSiblings) - pack the specified array of circles. +* [d3.packEnclose](#packEnclose) - enclose the specified array of circles. + ## [Interpolators](https://github.com/d3/d3-interpolate) Interpolate numbers, colors, strings, arrays, objects, whatever! diff --git a/index.js b/index.js index 7c86fc40..a5b35776 100644 --- a/index.js +++ b/index.js @@ -402,6 +402,23 @@ export { axisLeft } from "d3-axis"; +export { + cluster, + hierarchy, + pack, + packSiblings, + packEnclose, + partition, + stratify, + tree, + treemap, + treemapBinary, + treemapDice, + treemapSlice, + treemapSliceDice, + treemapSquarify +} from "d3-hierarchy"; + export { voronoi } from "d3-voronoi"; diff --git a/package.json b/package.json index db35c2dc..c816023f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "d3", - "version": "4.0.0-alpha.28", + "version": "4.0.0-alpha.29", "publishConfig": { "tag": "next" }, @@ -47,6 +47,7 @@ "d3-dsv": "0.3.1", "d3-ease": "0.7.0", "d3-format": "0.5.1", + "d3-hierarchy": "0.2.0", "d3-interpolate": "0.7.0", "d3-path": "0.1.5", "d3-polygon": "0.2.1",