我试图将我的Linkedin网络形象化为一个图表,其中的节点是我所联系的人,这些节点将被聚集到他们工作的公司中。我下载了我的Linkedin网络作为一个csv文件,并设法将图表可视化,但它看起来像一个巨大的地球仪。如果我能按公司对姓名进行分组,当我点击该节点时,就能获得此人的详细联系方式,这将是一个惊人的视觉效果。我正在使用pyvis和networkx
这是我的密码:
from pyvis.network import Network
import networkx as nx
df = pd.read_csv("Connections.csv")
# The dataframe consists of columns First Name, Last Name, #Company, Position and Connected On.
# I added a column called Name which is concat of first and #last names
G_weighted = nx.Graph()
G_weighted.add_edges_from(zip(df["My Network"], df["Name"]))
nx.set_node_attributes(G_weighted, df["Company"], 'Company')
g = Network(height=1080,width=1080, notebook=True)
g.toggle_hide_edges_on_drag(True)
g.barnes_hut()
g.from_nx(G_weighted)
g.show_buttons()
g.show('graph.html')
是否有一种方法可以根据公司将名称分组?如果是,我该怎么做
我非常喜欢在networkx中使用pyvis,因为它具有交互性选项
我知道这有点晚了,但这里是你可以实现它的方法
请注意,pyvis可以从nodes dataframe中获取
group
属性,并为每个组指定不同的颜色,以及title
属性,以便在将鼠标悬停在节点上时可以查看详细信息输出:
相关问题 更多 >
编程相关推荐