Я пытаюсь выделить все узлы и пути при щелчке от узла к корню.Выделите фактический путь в дереве как данные в Cytoscape
Я нашел частичный пример в этой ссылке - How to highlight the path between two nodes in CYTOSCAPE JS.
Код в приведенной ссылке использует алгоритм Дейкстры для нахождения кратчайшего пути. Но мне нужен фактический путь, как указано в данных.
Например, рассмотрим следующие данные:
nodes: [
{ data: { id: 'a' } },
{ data: { id: 'b' } },
{ data: { id: 'c' } },
{ data: { id: 'd' } },
{ data: { id: 'e' } },
{ data: { id: 'f' } },
{ data: { id: 'g' } }
],
edges: [
{ data: { id: 'ab', weight: 1, source: 'a', target: 'b' } },
{ data: { id: 'ac', weight: 2, source: 'a', target: 'c' } },
{ data: { id: 'bd', weight: 3, source: 'b', target: 'd' } },
{ data: { id: 'be', weight: 4, source: 'b', target: 'e' } },
{ data: { id: 'cg1', weight: 5, source: 'c', target: 'g' } },
{ data: { id: 'gc1', weight: 6, source: 'g', target: 'c' } },
{ data: { id: 'cg2', weight: 7, source: 'c', target: 'g' } },
{ data: { id: 'gf', weight: 8, source: 'g', target: 'f' } }
]
Использование кода в ссылке, дерево изюминка как это работает, если источником является и цель е.
Tree Highlight with Dijkstra's Algorithm
Если кто-то может помочь мне отследить и выделить путь, как указано в данных, было бы очень полезно.
Путь Dijkstra дает * is * путь, взятый из 'a' в' f'. Пожалуйста, уточните свой вопрос. Неясно, чего вы хотите. У вас есть пример данных, поэтому, пожалуйста, укажите, что вы ожидаете в качестве вывода для этого набора данных. – maxkfranz