transition.ease()

transition.ease([value]) Specifies the transition easing function for all selected elements. The value must be specified as a function. The easing function is invoked for each frame of the animation, being passed the normalized time t in the range [0, 1]; it must then return the eased time tʹ which is typically also in the range [0, 1]. A good easing function should return 0 if t = 0 and 1 if t = 1. If an easing function is not specified, it defaults to d3.easeCubic. If a value is not specif

transition.duration()

transition.duration([value]) For each selected element, sets the transition duration to the specified value in milliseconds. The value may be specified either as a constant or a function. If a function, it is immediately evaluated for each selected element, in order, being passed the current datum d and index i, with the this context as the current DOM element. The function’s return value is then used to set each element’s transition duration. If a duration is not specified, it defaults to 2

transition.call()

transition.call(function[, arguments…]) Invokes the specified function exactly once, passing in this transition along with any optional arguments. Returns this transition. This is equivalent to invoking the function by hand but facilitates method chaining. For example, to set several attributes in a reusable function: function color(transition, fill, stroke) { transition .style("fill", fill) .style("stroke", stroke); } Now say: d3.selectAll("div").transition().call(color, "red"

transition.attrs()

transition.attrs(values) Like selection.attrs, but for transition.attr.

transition.attr()

transition.attr(name, value) For each selected element, assigns the attribute tween for the attribute with the specified name to the specified target value. The starting value of the tween is the attribute’s value when the transition starts. The target value may be specified either as a constant or a function. If a function, it is immediately evaluated for each selected element, in order, being passed the current datum d and index i, with the this context as the current DOM element. If the t

transition.attrTween()

transition.attrTween(name[, factory]) If factory is specified and not null, assigns the attribute tween for the attribute with the specified name to the specified interpolator factory. An interpolator factory is a function that returns an interpolator; when the transition starts, the factory is evaluated for each selected element, in order, being passed the current datum d and index i, with the this context as the current DOM element. The returned interpolator will then be invoked for each f

transform.translate()

transform.translate(x, y) Returns a transform whose translation tx1 and ty1 is equal to tx0 + x and ty0 + y, where tx0 and ty0 is this transform’s translation.

transform.toString()

transform.toString() Returns a string representing the SVG transform corresponding to this transform. Implemented as: function toString() { return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")"; }

transform.scale()

transform.scale(k) Returns a transform whose scale k₁ is equal to k₀ × k, where k₀ is this transform’s scale.

transform.rescaleY()

transform.rescaleY(y) Returns a copy of the continuous scale y whose domain is transformed. This is implemented by first applying the inverse y-transform on the scale’s range, and then applying the inverse scale to compute the corresponding domain: function rescaleY(y) { var range = y.range().map(transform.invertY, transform), domain = range.map(y.invert, y); return y.copy().domain(domain); } The scale y must use d3.interpolateNumber; do not use continuous.rangeRound as this reduce