+ }
+
+ for (var i = 0; i < setCount; i++) {
+ var setName = setNames[i];
+ var color = colorScheme[i%colorCount];
+
+ // setup graphics context
+ context.save();
+ var point = this.layout.points[0];
+ var pointSize = this.dygraph_.attr_("pointSize");
+ var prevX = null, prevY = null;
+ var drawPoints = this.dygraph_.attr_("drawPoints");
+ var points = this.layout.points;
+ for (var j = 0; j < points.length; j++) {
+ var point = points[j];
+ if (point.name == setName) {
+ if (!isOK(point.canvasy)) {
+ // this will make us move to the next point, not draw a line to it.
+ prevX = prevY = null;
+ } else {
+ // A point is "isolated" if it is non-null but both the previous
+ // and next points are null.
+ var isIsolated = (!prevX && (j == points.length - 1 ||
+ !isOK(points[j+1].canvasy)));
+
+ if (!prevX) {
+ prevX = point.canvasx;
+ prevY = point.canvasy;
+ } else {
+ ctx.beginPath();
+ ctx.strokeStyle = color;
+ ctx.lineWidth = this.options.strokeWidth;
+ ctx.moveTo(prevX, prevY);
+ prevX = point.canvasx;
+ prevY = point.canvasy;
+ ctx.lineTo(prevX, prevY);
+ ctx.stroke();
+ }
+
+ if (drawPoints || isIsolated) {
+ ctx.beginPath();
+ ctx.fillStyle = color;
+ ctx.arc(point.canvasx, point.canvasy, pointSize,
+ 0, 2 * Math.PI, false);
+ ctx.fill();
+ }
+ }
+ }
+ }
+ }