// Round time down to pixel granularity, so motion appears smoother.
time -= time % this.options.millisPerPixel;
var w = canvas.clientWidth,
h = canvas.clientHeight,
context = canvas.getContext('2d'),
chartOptions = this.options;
if (w > 0) this.dimensions = { top: 0, left: 0, width: w, height: h };
At the point the chart becomes invisible, the canvas.clientWidth go to zero. Based on that oldestValidTime is incorrect calculated.
Then in dropOldData the data array is cleared. Found a little workaround, there must be a better way:
EDIT : "There must be a better way."
Much better: use stop and start in your script. This also prevents rending graphs, that cannot be seen.
Closed, was'nt a real issues afterwards. Old: just for reference:
'this' is not accessible, so I did a