gpt4 book ai didi

python - Networkx节点上的多个属性用于图上的多个标签

转载 作者:行者123 更新时间:2023-12-03 19:26:55 47 4
gpt4 key购买 nike

我正在开发一个使用 formal concept analysis 的推荐系统在网络中找到最近的相似客户端。为了创建正式概念,我使用 pandas,用于网络 networkx 和绘图 matplotlib,即 Python 3 中的所有内容。

我的问题是我想在图表上表示具有每个节点的两种类型的属性:例如客户名称和电影。举一个简单的例子: node 1 : "names"-> ["Bob","John"] ; “电影”-> [“大白鲨”]。“名称”和“电影”被编码为节点的属性。继续这个例子:

G=nx.Graph()
G.add_nodes_from([1,2])
G.add_edge(1,2)
G.node[1]['names']=["Bob","John"]
G.node[1]['movies']=["Jaws"]

不幸的是,经过长时间搜索如何在图的每个节点上放置 2 种类型的标签,我没有找到答案。这是我认为我应该使用的,但我不知道如何与 matplotlib 或 networkx 交互来进行双重标记:

node_labels = nx.get_node_attributes(G,"names")
node_labels2 = nx.get_node_attributes(G,"movies")
nx.draw_networkx_labels(G,labels = ?)

问题的另一个重要方面是将“电影”放在节点顶部,将“名称”放在节点下,如下图所示。

An image of the type of graph I am looking for

非常感谢您的帮助!

最佳答案

那么在你的网络中节点代表什么,边代表什么?每个节点是否代表一个用户以及两个用户之间的每条边是否相似?我认为你应该澄清这一点,因为从你的问题来看你似乎没有。

关于python - Networkx节点上的多个属性用于图上的多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35680593/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com