## Brief introduction

D3.js is the library most used for artist level Data Visualization. For a basic / easy way of doing data visualization with javascript please see highcharts or ECharts.

## Notes

JQuery like manipulation

Choose elements and bind the data

• datum()：bind one data to elements
• data()： bind an array to elements

SVG Canvas & Scales & Axis

D3.js uses SVG as canvas to draw.

Animation

Or delay() which is used for a transformation delay.

User interaction

Use function .on('eventlisener', func(){}).

Layout

A list of bult-in layout:

• Bundle - apply Holten’s hierarchical bundling algorithm to edges.
• Chord - produce a chord diagram from a matrix of relationships.
• Cluster - cluster entities into a dendrogram.
• Force - position linked nodes using physical simulation.
• Hierarchy - derive a custom hierarchical layout implementation.
• Histogram - compute the distribution of data using quantized bins.
• Pack - produce a hierarchical layout using recursive circle-packing.
• Partition - recursively partition a node tree into a sunburst or icicle.
• Pie - compute the start and end angles for arcs in a pie or donut chart.
• Stack - compute the baseline for each series in a stacked bar or area chart.
• Tree - position a tree of nodes tidily.
• Treemap - use recursive spatial subdivision to display a tree of nodes.