我正在尝试向 dygraph 添加一条水平线,它已经显示了我的时间序列数据。
我有完整数据的平均值,我想在 dygraph 上显示为静态水平线。
有谁知道如何简单地做到这一点。
我已经检查了以下链接: http ://dygraphs.com/tests/highlighted-region.html 查看源代码: http: //dygraphs.com/tests/crosshair.html
必须有一些简单的解决方案
我正在尝试向 dygraph 添加一条水平线,它已经显示了我的时间序列数据。
我有完整数据的平均值,我想在 dygraph 上显示为静态水平线。
有谁知道如何简单地做到这一点。
我已经检查了以下链接: http ://dygraphs.com/tests/highlighted-region.html 查看源代码: http: //dygraphs.com/tests/crosshair.html
必须有一些简单的解决方案
正如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();
}});
您的选择是使用底层回调(ala http://dygraphs.com/tests/highlighted-region.html)或添加第二个恒定数据系列。