在dygraph中显示平均值的水平线

时间:2013-04-03 00:36:57

标签: javascript dygraphs

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

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

有没有人知道如何做到这一点。

我已经检查过以下链接: http://dygraphs.com/tests/highlighted-region.html 视图源:http://dygraphs.com/tests/crosshair.html

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

2 个答案:

答案 0 :(得分:6)

作为danvk mentioned before,请尝试在"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();       
 }});

答案 1 :(得分:1)

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