2013-08-16 2 views
2

Я, начиная с D3 и имеющими следующей проблемой:Использования нескольких наборов данных для данного D3 макета силы

Я создал направленную раскладку силы связывания данных в формате JSON для соединений и узлов, где каналы передачи данных являются:

{ 
    { "source":"s1" , "target":"t1", "type_link"= "type1"}, 
    { "source":"s2" , "target":"t2", "type_link"= "type2"} 
    ... 
} 

... где «источник» и «цель» идентифицируют узлы по обе стороны каждой линии.

Мне нужно привязать и визуализировать дополнительные данные для каждого узла предыдущего силового макета (нет необходимости добавлять или удалять узлы в макет). Новые данные будут загружены для каждого существующего узла из другого файла JSON:

{ 
    { "node_id": "s1", value: {JSON object} //with additional data for node "s1"}, 
    { "node_id": "t1", value: {JSON object} //with additional data for node "t1"} 
    ... 
} 

Итак, я хотел бы добавить «значение» поле данных (так, JSON объект) для каждого «» node_id узла.

Я думал, что могу сделать это, привязывая к каждому узлу набор данных (объект JSON), а затем добавляя к каждому узлу (не круг) много SVG-текста в качестве данных в объекте JSON (возможно, используя. Но я ' читал в https://github.com/mbostock/d3/wiki/Force-Layout, что «данный экземпляр раскладка сила может быть использована только с одним набором данных», поэтому я запутался.

Пожалуйста, не могли бы вы меня с ГПУ этим вопросом?

ответ

1

единый набор данных означает, что вы не можете использовать данный экземпляр макета силы с разными парами узлов и ссылок, потому что компоновка силы будет хранить дополнительные свойства в t узлы и ссылки. Например, если у вас есть nodes1, links1 и nodes2, links2, вы должны создать также макет силы для каждой пары (узлов, ссылок) force1 и force2.

Пример силовой схемы можно найти здесь: http://bl.ocks.org/mbostock/4062045