D3 Sankey Diagrams: Как обрабатывать динамические данные?IE узлы / ссылки без значения (или 0 значения) - PullRequest
0 голосов
/ 18 ноября 2018

Это вопрос для тех, кто работает с диаграммами Санки D3.js. Каков рекомендуемый подход для организации / создания данных JSON для этих диаграмм?

Каждый пример, с которым я сталкивался, включает создателя примера, в котором JSON / CSV имеет по крайней мере одно значение для каждого узла / ссылки.

Однако, если вы попытаетесь предоставить динамические данные, когда вы не знаете, будет ли все иметь значение, и если значение узла / ссылки равно нулю, узел перемещается в верхний левый угол и отключается от всего.

Пример:

enter image description here

Элементы на этой картинке, о которых я говорю, это: «Беглые выбросы», «Промышленность» и «электричество и тепло»

Очистка этих узлов кажется нетривиальной.

Казалось бы, логично как-то исключить их из данных JSON для начала, но это похоже на слишком сложный процесс.

т.е. Если вы удаляете узел в JSON, вам нужно удалить все ссылки, связанные с этим узлом, но, похоже, для этого потребуется рекурсивная проверка, чтобы убедиться, что все в чистоте.

Я все еще ищу возможные способы, чтобы D3 Sankey удалял узлы без значений, но суть проблемы заключается в том, что объект SVG заполняется данными для узлов на основе предоставленных данных JSON, а не тем, что передается в код Sankey JavaScript. Я попытался отфильтровать узлы, которые мне здесь не нужны, но это не влияет на то, что уже подключено к SVG (что в конечном итоге отображается на диаграмме).

Приветствуются любые предложения, касающиеся удаления / фильтрации узлов без значений. Либо дополнение к коду Sankey, либо предложение по организации / фильтрации данных JSON, которые должны быть переданы в Sankey.

...