Это вопрос для тех, кто работает с диаграммами Санки D3.js.
Каков рекомендуемый подход для организации / создания данных JSON для этих диаграмм?
Каждый пример, с которым я сталкивался, включает создателя примера, в котором JSON / CSV имеет по крайней мере одно значение для каждого узла / ссылки.
Однако, если вы попытаетесь предоставить динамические данные, когда вы не знаете, будет ли все иметь значение, и если значение узла / ссылки равно нулю, узел перемещается в верхний левый угол и отключается от всего.
Пример:
Элементы на этой картинке, о которых я говорю, это: «Беглые выбросы», «Промышленность» и «электричество и тепло»
Очистка этих узлов кажется нетривиальной.
Казалось бы, логично как-то исключить их из данных JSON для начала, но это похоже на слишком сложный процесс.
т.е. Если вы удаляете узел в JSON, вам нужно удалить все ссылки, связанные с этим узлом, но, похоже, для этого потребуется рекурсивная проверка, чтобы убедиться, что все в чистоте.
Я все еще ищу возможные способы, чтобы D3 Sankey удалял узлы без значений, но суть проблемы заключается в том, что объект SVG заполняется данными для узлов на основе предоставленных данных JSON, а не тем, что передается в код Sankey JavaScript. Я попытался отфильтровать узлы, которые мне здесь не нужны, но это не влияет на то, что уже подключено к SVG (что в конечном итоге отображается на диаграмме).
Приветствуются любые предложения, касающиеся удаления / фильтрации узлов без значений. Либо дополнение к коду Sankey, либо предложение по организации / фильтрации данных JSON, которые должны быть переданы в Sankey.