Flot 0.8.0 used the default font size, typically derived from the
placeholder, as the basis for the default lineHeight. This produced
incorrect results when a font.size was provided explicitly, and it
differed from the placeholder’s CSS size.
Fixed by waiting to default lineHeight until the actual font size has
been resolved. Fixes#1131.
Flot 0.8 added logic to account for the size of axis tick labels and add
padding around the edges of the plot, to prevent long labels from
sticking out. But it padded both sides equally, which is incorrect if
the right/top side has no last axis label.
Fixed by allocating padding per-side, and checking whether the last
label would be shown before padding the top or right. Fixes#1048.
The fix for #1056 caused a regression where grid lines were drawn for
the innermost axes on both sides instead of just the first axis.
Fixed by properly distinguishing the first axis in each direction from
the innermost one on each side. Fixes#1075.
This change adds an additional check for whether the parent element
is `null` or `undefined` in `$.color.extract`. This can happen when
working with elements that have not yet been added to the DOM under
`<body>`.
Consider the following example pie chart.
var elm = $("<div />")
.css({
width: "240px"
, height: "320px"
})
var data = [
{label: "One", data: "33"}
, {label: "Two", data: "33"}
, {label: "Three", data: "33"}
]
var opts = {
legend: {
show: true
}
, series: {
pie: {
show: true
}
}
}
$.plot(elm, data, opts)
elm.appendTo($("body"))
When flot inserts each legend row, it tries to use the same color as
the corresponding graph part, unless it was explicitly specified in
the options. However, in this example, `$.color.extract` runs into
an unexpected `null` reference because `<body>` is not an ancestor
of `elm`. Specifically, a `TypeError: Cannot read property
'nodeName' of undefined` would be thrown.
The pie plugin was a little too clever in its use of closures. In
processDatapoints it set canvas, target, and options for use in other
functions. Since options was not declared this meant that it became
global. Pages containing multiple pie plots therefore saw a range of
weird effects resulting from earlier plots receiving some of the options
set by later ones. Resolves#1128, resolves#1073, resolves#1055.
If an explicit numeric offset was provided, we should not override it.
The clipping is only meant to apply to the case where the center is
moved to make room for the legend in 'auto' mode, anyway.