Исправление меток на краях в сетевом анализе с помощью pyvis и networkxPython

Программы на Python
Anonymous
Исправление меток на краях в сетевом анализе с помощью pyvis и networkx

Сообщение Anonymous »

С помощью pyvis и networkx я хочу создать сеть с приведенным ниже набором данных и кодами. Метки данных по краям для использования столбца «Метка».
Однако метки данных путаются. Например, перевес от Майка до Тома должен показывать 925, но показывает 2.
Где пошло не так?
Изображение

import pandas as pd
import networkx as nx
from pyvis.network import Network
import os
from io import StringIO

csvfile = StringIO(
"""Source Target Weight Label
Kate Viki 0 1
Kate Lilly 0.06 16
Kate Kate 0.09 22
Kate Tom 0.30 71
Mike Lilly 0.04 2
Mike Kate 1.02 239
Mike Tom 3.99 925
Tom Lilly 0.04 2
Tom Frank 0 1
Tom Kate 0.12 30
Tom Tom 0.03 8
""")

df = pd.read_csv(csvfile, sep = '\t', engine='python')

G = nx.from_pandas_edgelist(df, source='Source', target='Target', edge_attr='Weight')

label_values = df['Label'].tolist()

for i, edge in enumerate(G.edges(data=True)):
edge[2]['label'] = str(label_values) # Assign the random number as a label to the edge

net = Network(notebook=True)

net.from_nx(G)

# Set edge widths based on weights
for edge in net.edges:
edge['width'] = edge['Weight'] # Set the width of the edge based on its weight

# Set edge label visibility and font size
for edge in net.edges:
edge['label'] = edge['label']
edge['font'] = {'size': 14}

output_file = "test-.html"

net.show(output_file)


Подробнее здесь: https://stackoverflow.com/questions/790 ... d-networkx

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