Как добавить всплывающую подсказку узла к графику networkx, визуализируемому с помощью gravis?Python

Программы на Python
Anonymous
Как добавить всплывающую подсказку узла к графику networkx, визуализируемому с помощью gravis?

Сообщение Anonymous »


Я создал ориентированный граф из кадра данных Pandas, используя NetworkX:

graph = nx.from_pandas_edgelist(df, 'source', 'target', create_using=nx.DiGraph())

Для визуализации графика я использую функцию d3 из пакета gravis:

gv.d3(data=graph, node_size_factor=2.0, node_hover_neighborhood=True, node_hover_tooltip=True, Edge_size_factor=0,75, Edge_curvature=0,3, Layout_algorithm_active=True, use_many_body_force=True, Many_body_force_strength=- 300,0, Many_body_force_theta=0. 9 , use_many_body_force_min_distance=True, Many_body_force_min_distance=50.0, use_many_body_force_max_distance=True, Many_body_force_max_distance=250.0, use_links_force=True, Links_force_distance=50.0, Links_force_Strength=0.5, use_collision_force=True, Collision_force_radius=35. 0, столкновение_force_strength=0,5, use_centering_force=True)< /п> Функция d3 дает возможность активировать функцию «Подсказка при наведении узла». Согласно документации, если True, наведение на узел приводит к появлению всплывающей подсказки, если свойство hover в метаданных этого узла содержит непустую строку или HTML-текст.

Мой вопрос: как мне назначить такое свойство наведения узлам моего графика? Если я наведу указатель мыши на узел, подсказка не будет найдена.

Я попробовал добавить атрибут «имя» к узлам с помощью следующего кода:

для node_id вgraph.nodes: node =graph.nodes[node_id] node['tooltip'] = node_names[node_id]

Сам код работает и добавляет «подсказку» в качестве атрибута узла, но ничего не меняет в отображаемом графике. Также я попробовал использовать функцию set_node_attributes из NetworkX, но она тоже не сработала.

Спасибо за любые идеи по этому поводу!

Вернуться в «Python»