javascript - Dygraph 图形变形/部分移动

标签 javascript dygraphs

我会定期更新几个 Dygraphs 图表。一段时间后,通常是几分钟,其中一些或全部被损坏,如下图所示。我无法将此与特定事件或浏览器联系起来。即使在我只是重新加载存储在 CSV 文件中的数据的简单图形中,也会发生这种情况。我在图形对象上调用 updateOptions({ file: URL }),其中 URL 指向 CSV 文件,然后调用 resetZoom()在图形对象上更新轴。谷歌搜索没有发现任何人遭受类似行为,所以我不知道是什么原因造成的。

Corrupted Dygraphs graph - The grid lines are compressed over part of the graph and there is a discontinuity on the right.

更新 1:它与最小化和最大化浏览器相关联。

更新 2: 这个问题不会在 Firefox 中出现。它确实发生在 Google Chrome 和 Internet Explorer 中,尽管 IE 有一段时间后卡住的额外问题(另一天的问题)。

更新 3:在 http://jsfiddle.net/williamshipman/tvxekq56/ 添加了最少的工作示例和 http://jsfiddle.net/williamshipman/af66qstt/ .反复最小化和最大化浏览器窗口,一段时间后出现失真。第一个示例使用 AngularJS(就像我自己的作品),而第二个示例在纯 JavaScript 中演示了相同的错误。您可能需要最小化和最大化十几次才能看到错误,这看起来很随机。

最佳答案

对我来说,当我显示和隐藏 Y2 轴时会出现类似的问题。 这一行帮助了我:ctx.clearRect(0, 0, this.width, this.height);

文件:dygraph-canvas.js

var DygraphCanvasRenderer = function(dygraph, element, elementContext, layout) {
  ...
  ctx = this.dygraph_.hidden_ctx_;
  ctx.clearRect(0, 0, this.width, this.height); // <== clear whole canvas before cliping
  ctx.beginPath();
  ctx.rect(this.area.x, this.area.y, this.area.w, this.area.h);
  ctx.clip();
};

关于javascript - Dygraph 图形变形/部分移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49240286/

相关文章:

javascript - jquery json加载两个变量

javascript - 有没有办法用 JavaScript 中的移位器来增加或减少数字?

javascript - Dygraphs 实时趋势和同步

pie-chart - 我们如何使用 dygraph 制作饼图

c# - 使用 MVC/Razor 传递 C# 变量以与 Dygraph 一起使用

javascript - Javascript库的比较

Javascript GC 并将对象分配给 null

javascript - 是否可以在不创建 svg 对象的情况下创建 snap 元素? [快照.svg]

javascript - Dygraph - 如何更改日期格式的语言?

javascript - 为两个 DyGraph 设置一个 showRangeSelector?