亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在圖上顯示兩個節點之間的邊數

在圖上顯示兩個節點之間的邊數

鳳凰求蠱 2022-08-02 15:53:39
我正在從數據幀制作網絡圖,如下所示import networkx as nximport pandas as pdimport matplotlib.pyplot as pltdata = {'source': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'],        'target': ['B', 'B', 'C', 'D', 'E', 'B', 'C', 'E', 'F', 'C']}df = pd.DataFrame(data=data)G = nx.from_pandas_edgelist(df, source='source', create_using=nx.Graph(), target='target')pos = nx.spring_layout(G)nx.draw_networkx(G, pos, with_labels=False, node_color='#1f0ee3', node_size=150,                 edge_color='r', width=1, alpha=0.6, style='dashed',                 font_color='k', font_size=15, font_weight=20)# Offset for node labelsoffset = 0.15pos_labels = {}keys = pos.keys()for key in keys:    x, y = pos[key]    pos_labels[key] = (x, y + offset)nx.draw_networkx_labels(G, pos=pos_labels, fontsize=2)plt.xlim(-1.25, 1.25)plt.ylim(-1.25, 1.25)plt.title('Example')plt.show()它產生然而,這并沒有顯示的是每個節點之間的連接情況。例如,A->B實際上有三條邊。 會使一些邊緣看起來比其他邊緣更厚,但我真正想要的是圖上顯示的兩個節點之間的實際邊緣數。這樣,“B”的標簽是“B(3)”(或類似的東西)。nx.MultiGraph()我知道這可以告訴我節點之間的邊數,但我想以編程方式將兩個節點之間的邊數顯示為繪圖上的計數。nx.Graph.number_of_edges()
查看完整描述

2 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

您可以調整數據幀以在目標節點字符串中包含邊緣編號:


data = {'source': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'],

        'target': ['B', 'B', 'C', 'D', 'E', 'B', 'C', 'E', 'F', 'C']}

df = pd.DataFrame(data=data)


df = df.groupby(df.columns.tolist()).size().reset_index().rename(columns={0:'edges'})

df['target'] = df['target'] + ' (' + df['edges'].astype(str) + ')'

http://img1.sycdn.imooc.com//62e8d8360001f15f05160392.jpg

查看完整回答
反對 回復 2022-08-02
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

可用于標記邊。提供一個字典,其中邊緣作為鍵,邊緣數作為值:nx.draw_networkx_edge_labels


counts = df.groupby('source')['target'].value_counts().to_dict()

nx.draw_networkx_edge_labels(G, pos, edge_labels=counts)

http://img1.sycdn.imooc.com//62e8d82800010e7d03910263.jpg

查看完整回答
反對 回復 2022-08-02
  • 2 回答
  • 0 關注
  • 525 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號