0

我在微控制器上嵌入了一个简单的 Web 服务器。其中一个网页允许用户绘制捕获的数据(CSV 格式)。该页面首先加载所有数据并将其呈现给用户,但随后我希望允许用户执行选择和取消选择数据(列)、更改线条颜色和更改数据比例等操作。当我第二次天真地调用 RGraph.SVG.Line 时,它​​只是在已经存在的图像之上重新绘制修改后的图表。如何让 RGraph 删除以前的图像并重新开始?

我已经尝试了以下(单独):

RGraph.Clear(document.getElementById("plotDiv"));
RGraph.ObjectRegistry.Clear();
document.getElementById("plotDiv").innerHTML="";

“RGraph.Clear”和“Graph.ObjectRegistry.Clear”在库的 SVG 版本中似乎不可用。当我删除 div 的“innerHTML”时,div 被清除,但是当再次调用它时,RGraph.SVG.Line 根本不绘制任何东西。

还有什么我可以尝试的吗?

4

1 回答 1

2

您应该为 SVG 调用 clear 函数 - 而不是画布版本:

RGraph.SVG.clear(myChart.svg);

要清除注册表(您可能还需要这样做):

RGraph.SVG.OR.objects = [];

然后,您应该能够在 SVG 标记上绘制一个新图表。

于 2019-09-21T21:18:55.920 回答