// Range selector and animatedZooms have a bad interaction. See issue 359.
if (this.getOption_('animatedZooms')) {
- Dygraph.warn('Animated zooms and range selector are not compatible; disabling animatedZooms.');
+ console.warn('Animated zooms and range selector are not compatible; disabling animatedZooms.');
this.dygraph_.updateOptions({animatedZooms: false}, true);
}
try {
this.drawMiniPlot_();
} catch(ex) {
- Dygraph.warn(ex);
+ console.warn(ex);
}
var margin = 0.5;
var dataPoint = combinedSeriesData.data[i];
var x = ((dataPoint[0] !== null) ? ((dataPoint[0] - xExtremes[0])*xFact) : NaN);
var y = ((dataPoint[1] !== null) ? (canvasHeight - (dataPoint[1] - combinedSeriesData.yMin)*yFact) : NaN);
+
+ // Skip points that don't change the x-value. Overly fine-grained points
+ // can cause major slowdowns with the ctx.fill() call below.
+ if (!stepPlot && prevX !== null && Math.round(x) == Math.round(prevX)) {
+ continue;
+ }
+
if (isFinite(x) && isFinite(y)) {
if(prevX === null) {
ctx.lineTo(x, canvasHeight);