Skip to content

AWinterman/d3-mapping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

d3-Mapping

Build Status

A simple utility to make working with d3 scales easier.

Installation

npm install d3-Mapping

Usage

Designed to be used node style:

var Mapping = require("d3-mapping")

Initialize a new mapping with a scale and an accessor function

xScale = d3.scale.linear()
xAccessor = function(d){ return d.x }

x = new Mapping(xScale, xAccessor)

x has convenience methods for a number of common tasks. For example:

  • x.scale holds the reference to the original scale.
  • x.range and x.domain provide convenient access to x.scale.domain and x.scale.range
  • x.place will map data points onto the screen. It does a little dance to prevent D3 from overwriting its this object, so you can use it in d3 attribute setters.
  • x.compute_domain(data, ordinal) will compute the domain of data, set ordinal == true to find the unique elements for the dimension rather than the extent
  • x.min and x.max give more flexibility in manipulating the domain of the mapping. If you provide one argument, the minimum (maximum) of the mapping domain is simply set to that argument. If you pass an array, they compute the minimum or maximum of the value returned by the accessor when applied to the array, and set the corresponding bound of the domain.

Check out a working example, or Read the literate source for more info

About

Utility to make working with d3 scales less painful

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published