This also includes a tweak to zero's default. Previously zero only
received a value if lines were visible; now it always receives a value,
matching the behavior of other contextual options.
Use bind, rather than .mouseleave, because we officially still support
jQuery 1.2.6, which doesn't define a shortcut for mouseenter or
mouseleave. This was a bug/oversight that was fixed somewhere around
1.3.x. We can return to using .mouseleave when we drop support for
1.2.6.
Added a format option 'autoscale' that controls whether the given point
is considered when determining an automatic scale.
The lines & bars 'zero' option controls whether autoscale is set on the
dummy point that is inserted to create the series lower-bound.
Area and bar plots normally use a minimum of zero, since their purpose
is to show size, and using an auto-scaled minimum distorts the plot's
meaning. But this behavior is undesirable in cases where the plot type
is used in more of a decorative sense.
The zero option provides a way to control this behavior. It defauls to
true for bars and filled lines.
When the placeholder has (or inherits) the HTML 'dir' attribute or CSS
'direction' we get unexpected results from text metrics, resulting in
visual glitches on the axes.
The suggested solution in #716 was to set ltr on the placeholder, but
this introduces its own problems, since the user probably *does* expect
rtl on items like the legend. So we'll instead set ltr only on the
canvases.
We should review this behavior at some point; rtl is something we need
to handle, not work around. It also needs to be kept in mind as we move
canvas-text into a plugin. But for now this solution at least ensures
consistent behavior.
The primary canvas uses position: absolute while the overlay canvas does
not. This can cause the two to get out of alignment in rare cases when
floating elements are placed near the plot placeholder. There doesn't
appear to be any reason why the overlay can't also be
absolutely-positioned, so I've just removed the flag entirely.
* If either color or width is object, normalize the other to object
* Only draw each border if its width is greater than 0
* Set strokeStyle and lineWidth _before_ calling ctx.beginPath()
Pull request #50 inadvertently broke the behavior of axis.tickDecimals,
which previously added precision up to the given value. The broken code
effectively ignored the setting for values with less precision. This
fix brings back the old behavior.
The recent changes to add retina support included a call to getContext
made before excanvas/flashcanvas had a chance to register their hooks;
fixed by moving that code up a few lines.
As the size of the variation increases, the resulting colors approach
white and black. To avoid this we now reset the variation when it gets
too large. This results in repeated colors, but that's much better than
a list full of whites and blacks.