It is possible to detect whether a chart has been zoomed in either axis by the use of the isZoomed
function.
If called with no argument, it will report whether either axis has been zoomed.
Alternatively it can be called with an argument of either 'x'
or 'y'
and it will report the status of just that axis.
Here's a simple example using drawCallback
to display the various zoom states whenever the chart is zoomed:
Zoomed: False
Zoomed X: False
Zoomed Y: False
new Dygraph( // containing div document.getElementById("zoomdiv"), // CSV or path to a CSV file. "Date,Temperature\n" + "2011-01-07,75\n" + "2011-01-08,70\n" + "2011-01-09,90\n" + "2011-01-10,30\n" + "2011-01-11,40\n" + "2011-01-12,60\n" + "2011-01-13,70\n" + "2011-01-14,40\n", { drawCallback: function(me, initial) { document.getElementById("zoomed").innerHTML = "" + me.isZoomed(); document.getElementById("zoomedX").innerHTML = "" + me.isZoomed("x"); document.getElementById("zoomedY").innerHTML = "" + me.isZoomed("y"); } } );
The Tests for zoom operations show a full example of this in action.