An axis is innermost when it's first among those not just in its
direction, but also on its side, i.e. left/right, of the plot. So the
inArray check should be against the samePosition list, not all.
Resolves#1056.
Resolves#1032. Previously it was impossible to draw the same text,
with the same style, in two different locations, because the second
would end up using the first's cache entry, which only ended up moving
the element to a new position.
Now each cache entry holds a list of positions at which the text
appears, creating clones of the original element for each position
beyond the first.
Flot 0.7 calculated x-axis label dimensions by assigning each label a
fixed width, then measuring the height as determined by the browser. A
side-effect of this technique is that x-axis label divs received a fixed
width. The rewrite of the text system in 0.8 accidentally removed this
feature; this patch restores it.
(Realted to flot issue #1031: https://github.com/flot/flot/issues/1031)
Currently, if the user declares a custom color palette with less than 5 colors (say, n), $.extend(true, options, opts) only modifies the first n colors of the default palette and leaves the last 5-n in place. When the number of series is >n, colors are used that are not part of user-defined palette, contrary to description of colors array in API.
This line overrides the extended colors array and replaces it with exactly the user-defined colors array, when present. Afterwards, the user color palette is respected by the auto tinting/shading system for when there are more series than colors.
Resolves#1000. In Flot 0.7 we only calculated tickDecimals and
tickSize once, when creating the tickGenerator for the first time. This
meant that calls to setupGrid failed to recalculate the values, as
reported in #860. #861 fixed the problem by moving calculation into
tickGenerator, but this turned out to cause a new problem, since the
function doesn't run when an explicit ticks array is provided.
This commit solves both by always recalculating the values outside of
the tickGenerator function. As far as I can tell the only reason it
wasn't done this way from the beginning was to avoid unnecessary work in
the case where tickGenerator is already provided in the options. But
the extra work is negligible, and it's actually more consistent for the
properties to always be set.
The core implementation used parseInt, which was originally to catch
text values, but really only stayed due to its side-effect of flooring
the values. The canvas implementation has never rounded coordinates.
This led to various one-pixel rendering glitches between the two
implementations. I've fixed the problem by consistently rounding
coordinates to the nearest whole number.
Line height is a core font property - it can be specified as part of the
unified 'font' definition - and we therefore need to give users access
to it when they're manually defining the font.
The way in which xaxes/yaxes inherit options from xaxis/yaxis resulted
in a minor bug, where tickColor defaulted to the xaxis/yaxis color
instead of the color for its axis. Fixed by applying the default before
extending the per-axis options, resolving #984.
There's still some questionable behavior here; this section should be
revisited for 0.9, especially with an eye towards removing some of the
code that only exists for backwards-compatibility.
The purpose of the stylesheet hack was to provide a default without
having to use inline styles on containers. We can do this much more
neatly by instead just giving the inline styles to a parent container,
leaving users free to customize the children.
Add an extra pixel to ensure that the lines cleanly join both top and
bottom ticks. Also apply the sub-pixel offset only in the necessary
direction, so the lines don't start a pixel off from where they should.
The axis color now controls the color of the axis line, instead of its
ticks and labels, while the tickColor controls the tick color. This
makes a little more sense and provides the minor feature of being able
to change the axis line color separately from that of its ticks. Pull
request #917 ought to be easier to merge now, too.