5

我正在尝试向 dygraph 添加一条水平线,它已经显示了我的时间序列数据。

我有完整数据的平均值,我想在 dygraph 上显示为静态水平线。

有谁知道如何简单地做到这一点。

我已经检查了以下链接: http ://dygraphs.com/tests/highlighted-region.html 查看源代码: http: //dygraphs.com/tests/crosshair.html

必须有一些简单的解决方案

4

2 回答 2

8

正如danvk 之前提到的,尝试"underlayCallback"在调用中指定选项"new Dygraph()"。使用 HTML Canvas 上下文绘制线条。

下面的示例: (xmin 和 xmax 是您的 unix 纪元时间,以毫秒为单位)

var yavg= 50, xmin=1357016400000, xmax=1359694800000;
new Dygraph(document.getElementById('graph1'), data,{
  (....other options....),
  underlayCallback:function(ctx,area,dygraph){      
    var xl = dygraph.toDomCoords(xmin,yavg);
    var xr = dygraph.toDomCoords(xmax,yavg);
    ctx.strokeStyle= 'green';
    ctx.beginPath();
    ctx.moveTo(xl[0],xl[1]);
    ctx.lineTo(xr[0],xr[1]);
    ctx.closePath();
    ctx.stroke();       
 }});
于 2013-10-24T17:23:42.317 回答
1

您的选择是使用底层回调(ala http://dygraphs.com/tests/highlighted-region.html)或添加第二个恒定数据系列。

于 2013-04-03T13:48:27.683 回答