【发布时间】:2016-06-11 08:57:12
【问题描述】:
我正在开发一个推荐系统,该系统使用formal concept analysis 来查找网络中最近的相似客户端。为了创建正式的概念,我使用 pandas,用于网络 networkx 和绘制 matplotlib,即 Python 3 中的所有内容。
我的问题是我想在图表上表示具有每个节点的 2 类属性:例如客户端名称和电影名称。举一个简单的例子:节点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 matplotlib nodes networkx