D3 is not a visualization library as it is described, but an API to svg
and canvas
elements. In order to create visualizations, one must set all of the svg objects and attributes in a pipeline of operations managed by D3. This allows the user to script over it much easier to create complicated visualizations, but I would describe the API as low-level.