[英]Plotting networkx graph: node labels adjacent to nodes?
我正在尝试绘制关联规则,并且很难获取下面的节点标签来“关注”节点。 也就是说,我希望每个标签都自动位于其各自的节点附近,而不必对任何值进行硬编码。 下面的输出甚至不包含某些节点标签。 如何使这些标签动态跟随节点?
import pandas as pd
import networkx as nx
import matlotlib.pyplot as plt
df = pd.DataFrame({'node1': ['candy', 'cookie', 'beach', 'mark', 'black'],
'node2': ['beach', 'beach', 'cookie', 'beach', 'mark'],
'weight': [10, 5, 3, 4, 20]})
G = nx.Graph()
for idx in df.index:
node1 = df.loc[idx, 'node1']
node2 = df.loc[idx, 'node2']
weight = df.loc[idx, 'weight']
G.add_edge(node1, node2, weight = weight)
nx.draw(G, node_size = 100)
pos = nx.spring_layout(G)
nx.draw_networkx_labels(G, pos = pos, font_size = 14, with_labels = True)
plt.draw()
plt.show()
你打电话时
nx.draw(G, node_size = 100)
接着
pos = nx.spring_layout(G)
您将创建两组职位。 解决方案是首先获取位置,然后将其用于节点和标签。
pos = nx.spring_layout(G)
nx.draw(G, pos = pos, node_size = 100)
# do stuff to pos if you want offsets
nx.draw_networkx_labels(G, pos = pos, font_size = 14, with_labels = True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.