Как перерисовать линейный сюжет RGraph SVG? - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть простой веб-сервер, встроенный в микроконтроллер.Одна из веб-страниц позволяет пользователю отображать захваченные данные (в формате CSV).Сначала страница загружает все данные и представляет их пользователю, но затем я хочу разрешить пользователю выполнять такие действия, как выбор и отмена выбора данных (столбцы), изменение цвета линий и изменение масштаба данных.Когда я наивно вызываю RGraph.SVG.Line второй раз, он просто перерисовывает измененный график поверх уже существующего изображения.Как заставить RGraph удалить предыдущее изображение и начать все сначала?

Я пробовал следующее (отдельно):

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

"RGraph.Clear" и "Graph.ObjectRegistry.Очистить "не представляется доступным в SVG-версии библиотеки.Когда я удаляю div "innerHTML", div очищается, но тогда RGraph.SVG.Line вообще ничего не рисует при повторном вызове.

Есть ли что-нибудь еще, что я могу попробовать?

1 Ответ

1 голос
/ 22 сентября 2019

Вы должны вызвать функцию очистки для SVG, а не версию холста:

RGraph.SVG.clear(myChart.svg);

Чтобы очистить реестр (вам также может понадобиться это сделать):

RGraph.SVG.OR.objects = [];

ВыПосле этого вы сможете нарисовать новый график на теге SVG.

...