我正在一个信号绘图程序中尝试模拟许多示波器中可用的“持久性”功能。

我想防止dygraph Canvas 为每个updateOptions调用清除。取而代之的是,应该保留我的情节,直到明确要求清洁为止。此功能使我可以检查信号在一定时间内是否保持其相位。

我尝试在updateOptions函数中使用设置为false的block_redraw参数没有成功。

有任何想法吗?

最佳答案

抄写本并不是真的要这样做。您要让它呈现其数据源的完整历史记录,而不是其数据源的当前状态。

话虽如此,here's the code清除了绘图 Canvas :

DygraphCanvasRenderer.prototype.clear = function() {
  this.elementContext.clearRect(0, 0, this.width, this.height);
};

因此,如果您覆盖它,它可能会做您想要的:
DygraphCanvasRenderer.prototype.clear = function() {};

话虽这么说,除了给您想要的行为之外,它还可能破坏很多东西(例如缩放和平移)。如果您访问live random data演示页面并将该代码段复制到JS控制台中,则可以看到此内容。

祝好运!

10-06 00:32