if (!Dygraph.isArrayLike(strokePattern)) {
strokePattern = null;
}
+ var drawGapPoints = this.dygraph_.attr_('drawGapPoints', setName);
var point;
var next = DygraphCanvasRenderer.makeNextPointStep_(
// and next points are null.
var isIsolated = (!prevX && (j == points.length - 1 ||
isNullOrNaN(points[j+1].canvasy)));
+ if (drawGapPoints) {
+ // Also consider a point to be is "isolated" if it's adjacent to a
+ // null point, excluding the graph edges.
+ if ((j > 0 && !prevX) ||
+ (j < points.length - 1 && isNullOrNaN(points[j+1].canvasy))) {
+ isIsolated = true;
+ }
+ }
if (prevX === null) {
prevX = point.canvasx;
prevY = point.canvasy;
"type": "boolean",
"description": "Draw a small dot at each point, in addition to a line going through the point. This makes the individual data points easier to see, but can increase visual clutter in the chart. The small dot can be replaced with a custom rendering by supplying a <a href='#drawPointCallback'>drawPointCallback</a>."
},
+ "drawGapPoints": {
+ "default": "false",
+ "labels": ["Data Line display"],
+ "type": "boolean",
+ "description": "Draw points at the edges of gaps in the data. This improves visibility of small data segments or other data irregularities."
+ },
"drawPointCallback": {
"default": "null",
"labels": ["Data Line display"],