连接chart.js中缺失数据之间的点

前端之家收集整理的这篇文章主要介绍了连接chart.js中缺失数据之间的点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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是完整的工作版!

也许有一个更好的解决方案,但对我的用途它是有效的.

如果它适合您,请告诉我!

猜你在找的JavaScript相关文章