dygraphs中单点的误差线?

时间:2015-06-01 09:25:17

标签: javascript dygraphs

我正在使用dygraphs来显示有错误的数据。对于理论数据来说,这是完全正常的,因为它也会在线路周围产生“错误带” - 很棒。然而,实验数据通常基于离散测量,添加这种数据我希望能够仅显示测量点及其各自的误差 - 而不是将误差带绘制到最近的可用点。

我可以在数据点的每一侧添加NaN点,以使错误带不可见,但是 - 顾名思义 - 它实际上是不可见的,所以即使悬停在该点上我也不能看错了。

有没有办法为单个数据点实现错误栏?特别是当混合错误带启用串联?

这是显示案例的jsFiddle。线A应该是具有误差带的法线,线B仅指向每点误差。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用custom plotter

执行此操作
function singleErrorPlotter(e) {
  var ctx = e.drawingContext;
  var points = e.points;
  var g = e.dygraph;
  var color = e.color;
  ctx.save();
  ctx.strokeStyle = e.color;

  for (var i = 0; i < points.length; i++) {
    var p = points[i];
    var center_x = p.canvasx;
    if (isNaN(p.y_bottom)) continue;

    var low_y = g.toDomYCoord(p.yval_minus),
        high_y = g.toDomYCoord(p.yval_plus);

    ctx.beginPath();
    ctx.moveTo(center_x, low_y);
    ctx.lineTo(center_x, high_y);
    ctx.stroke();
  }

  ctx.restore();
}

这是你小提琴的updated version使用它。