плохо знакомы с holoviews, bokeh и networkx.
Я пытаюсь построить визуализацию, где я раскрываю все атрибуты узла при наведении. Я строю график с помощью networkx и использую метод Holoviews from_networkx для импорта в класс графика holoviews.
Я видел это, которое имеет отношение (то есть атрибуты узла теперь импортируются при использовании from_networkx):
https://github.com/ioam/holoviews/issues/2696
Однако я изо всех сил пытаюсь сослаться на атрибуты узла в подсказках.
Это код, использующий пример клуба каратэ, который работает:
%%opts Graph [color_index='circle']
%%opts Graph (node_size=5 edge_line_width=1)
%opts Graph [width=900 height=900]
colours = ['#000000']+hv.Cycle('Category20').values
G_kcg = nx.karate_club_graph()
hover_kcg = HoverTool(tooltips=[("Club", "@club")])
plot_kcg = hv.Graph.from_networkx(G_kcg, nx.spring_layout)
plot_kcg = plot_kcg.options(cmap=colours,tools=[hover_kcg])
bundled = bundle_graph(plot_kcg)
bundled
Однако, переключаясь на мой собственный набор данных, он просто возвращает '???' в подсказке:
%%opts Graph [color_index='circle']
%%opts Graph (node_size=5 edge_line_width=1)
%opts Graph [width=900 height=900]
colours = ['#000000']+hv.Cycle('Category20').values
hover = HoverTool(tooltips=[("Name", "@crew_name")])
plot_all = hv.Graph.from_networkx(G_all, nx.spring_layout)
plot_all = plot_all.options(cmap=colours,tools=[hover])
bundled = bundle_graph(plot_all)
bundled
Вывод NodeDataView для обоих графиков выглядит для меня в одном и том же формате:
G_kcg.nodes(data=True)
NodeDataView ({0: {'club': 'Mr. Hi'}, 1: {'club': 'Mr. Hi'}, 2: {'club': 'Mr. Hi'}, 3: {'club': 'Mr. Hi'}, 4: {'club': 'Mr. Hi'}, 5: {'club': 'Mr. Hi'}, 6: {'club': 'Mr. Привет '}, 7: {' club ':' Mr. Hi '}, 8: {' club ':' Mr. Hi '}, 9: {' club ':' Officer '}, 10: {' club ' : 'Mr. Hi'}, 11: {'club': 'Mr. Hi'}, 12: {'club': 'Mr. Hi'}, 13: {'club': 'Mr. Hi'}, 14: {'club': 'Officer'}, 15: {'club': 'Officer'}, 16: {'club': 'Mr. Hi'}, 17: {'club': 'Mr. Hi' }, 18: {'club': 'Officer'}, 19: {'club': 'Mr. Hi'}, 20: {'club': 'Officer'}, 21: {'club': 'Mr. Привет!}, 22: {'club': 'Officer'}, 23: {'club': 'Officer'}, 24: {'club': 'Officer'}, 25: {'club': 'Officer' }, 26: {'club': 'Officer'}, 27: {'club': 'Officer'}, 28: {'club': 'Officer'}, 29: {'club': 'Officer'}, 30: {'club': 'Officer'}, 31: {'club': 'Officer'}, 32: {'club': 'Officer'}, 33: {'club': 'Officer'}})
G_all.nodes(data=True)
NodeDataView ({12240216: {'crew_name': u'a '}, ... 8421367: {' crew_name ': u'b'}})
Извиняюсь, если я не прояснил проблему вообще, был бы признателен за любую помощь, которую я могу получить, поскольку я избивал его этим часами подряд!
Спасибо:)