簡體   English   中英

繪制networkx圖:與節點相鄰的節點標簽?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM