我正在使用chart.js,并且在我的图表中的某些点上,我在多天条目之间有一些缺失的数据.我已将这些值指定为null,但希望图表在缺失点之间绘制连接线.这是我有的:
有没有办法连接chart.js中的点?或者也许有人可以指向我可以的图表库.谢谢.
解决方法
我有同样的问题,我修改了这样的
this版本:
var lastPoint = null; helpers.each(dataset.points,function (point,index) { if (!point.ignore && dataset.skipNullValues && lastPoint) { ctx.beginPath(); ctx.moveTo(lastPoint.x,lastPoint.y); if (this.options.bezierCurve) { ctx.bezierCurveTo( lastPoint.controlPoints.outer.x,lastPoint.controlPoints.outer.y,point.controlPoints.inner.x,point.controlPoints.inner.y,point.x,point.y ); } else { ctx.lineTo(point.x,point.y); } ctx.stroke(); } if (index > 0 && !dataset.points[index - 1].ignore && !point.ignore) { if (this.options.bezierCurve) { ctx.bezierCurveTo( dataset.points[index - 1].controlPoints.outer.x,dataset.points[index - 1].controlPoints.outer.y,point.y ); } else { ctx.lineTo(point.x,point.y); } lastPoint = point; } else if (index === 0 || !point.ignore) { ctx.moveTo(point.x,point.y); if (!point.ignore) { lastPoint = point; } } },this);
为了更好的结构,我为数据集设置了一个名为“skipNullValues”的属性:
var datasetObject = { label: dataset.label || null,fillColor: dataset.fillColor,strokeColor: dataset.strokeColor,pointColor: dataset.pointColor,pointStrokeColor: dataset.pointStrokeColor,tooltip: dataset.tooltip,line: dataset.line,fill: dataset.fill,points: [],skipNullValues: dataset.skipNullValues };
Here是完整的工作版!
也许有一个更好的解决方案,但对我的用途它是有效的.
如果它适合您,请告诉我!