Commit fb24a990 authored by David Schnur's avatar David Schnur

Merge pull request #46 from markrcote/master

Fix minTickSize for year units
parents 64e19c8c fd809089
...@@ -29,6 +29,8 @@ and "flot-overlay" to prevent accidental clashes (issue 540). ...@@ -29,6 +29,8 @@ and "flot-overlay" to prevent accidental clashes (issue 540).
Changes: Changes:
- Fixed display of year ticks (patch by Mark Cote, issue 195).
- Support for time series moved to plugin (patch by Mark Cote). - Support for time series moved to plugin (patch by Mark Cote).
- Display time series in different time zones (patch by Knut Forkalsrud, - Display time series in different time zones (patch by Knut Forkalsrud,
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<p>Zoom to: <button id="whole">Whole period</button> <p>Zoom to: <button id="whole">Whole period</button>
<button id="nineties">1990-2000</button> <button id="nineties">1990-2000</button>
<button id="latenineties">1996-2000</button>
<button id="ninetynine">1999</button></p> <button id="ninetynine">1999</button></p>
<p>The timestamps must be specified as Javascript timestamps, as <p>The timestamps must be specified as Javascript timestamps, as
...@@ -55,6 +56,17 @@ $(function () { ...@@ -55,6 +56,17 @@ $(function () {
}); });
}); });
$("#latenineties").click(function () {
$.plot($("#placeholder"), [d], {
xaxis: {
mode: "time",
minTickSize: [1, "year"],
min: (new Date(1996, 1, 1)).getTime(),
max: (new Date(2000, 1, 1)).getTime()
}
});
});
$("#ninetynine").click(function () { $("#ninetynine").click(function () {
$.plot($("#placeholder"), [d], { $.plot($("#placeholder"), [d], {
xaxis: { xaxis: {
......
...@@ -163,6 +163,11 @@ for details. ...@@ -163,6 +163,11 @@ for details.
// special-case the possibility of several years // special-case the possibility of several years
if (unit == "year") { if (unit == "year") {
// if given a minTickSize in years, just use it,
// ensuring that it's an integer
if (opts.minTickSize != null && opts.minTickSize[1] == "year") {
size = Math.floor(opts.minTickSize[0]);
} else {
var magn = Math.pow(10, Math.floor(Math.log(axis.delta / timeUnitSize.year) / Math.LN10)); var magn = Math.pow(10, Math.floor(Math.log(axis.delta / timeUnitSize.year) / Math.LN10));
var norm = (axis.delta / timeUnitSize.year) / magn; var norm = (axis.delta / timeUnitSize.year) / magn;
if (norm < 1.5) if (norm < 1.5)
...@@ -177,6 +182,11 @@ for details. ...@@ -177,6 +182,11 @@ for details.
size *= magn; size *= magn;
} }
// minimum size for years is 1
if (size < 1)
size = 1;
}
axis.tickSize = opts.tickSize || [size, unit]; axis.tickSize = opts.tickSize || [size, unit];
var tickSize = axis.tickSize[0]; var tickSize = axis.tickSize[0];
unit = axis.tickSize[1]; unit = axis.tickSize[1];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment