欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)用networkx繪制MultiDiGraph

 更新時間:2024年02月02日 10:57:28   作者:EULE  
這篇文章主要介紹了Python實現(xiàn)用networkx繪制MultiDiGraph方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

networkx繪制MultiDiGraph

美賽作圖需要,想表現(xiàn)兩個節(jié)點之間的雙向關系,但是網(wǎng)上關于MultiDiGraph的內(nèi)容很少,翻出去查了一下多向圖的畫法

記錄一下

import matplotlib.pyplot as plt
import networkx as nx
G = nx.MultiDiGraph()
#中間過程略
nx.draw(G,pos,connectionstyle='arc3, rad = 0.2',width=[float(v['weight']) for (r,c,v) in G.edges(data=True)])
#connectionstyle='arc3, rad = 0.2'arc控制雙向,rad調(diào)線條弧度

最終效果

最終效果↑

畫圖部分完整的代碼

```python
G = nx.MultiDiGraph()
row=np.array(['D1','D2','D3','D4','D5','F1','F2','F3','M1','M6','M3','M4','M5','G1'])
G.add_nodes_from(['D1','D2','D3','D4','D5','F1','F2','F3','M1','M6','M3','M4','M5','G1'])
value=np.array(count)
for j in range(0,14):
    for i in range(0,14):
        if i!=j:
            G.add_weighted_edges_from([(row[j],row[i],value[14*j+i])])#邊的起點,終點,權(quán)重            
        else:
            pass
node_sizes = [44,22,29,20,35,11,32,20,41,22,57,10,11,20]
node_sizesnew=[]
for i in node_sizes:
    i=i*20
    node_sizesnew.append(i)  
pos={'D1':(37.29,77.42),'D2':(31.73,59.91),'D3':(40.47,27.53),'D4':(58.82,15.55),'D5':(46.29,89.65),'F1':(72,52),'F2':(61.64,45.73),'F3':(59.22,59.78),'G1':(11.64,49.73),'M1':(50.55,49.27),'M3':(46.56,56.18),'M4':(74.75,74.25),'M5':(58.25,46),'M6':(49.09,61.09)}
nx.draw_networkx_nodes(G,pos,node_size=node_sizesnew,alpha=0.4)
nx.draw_networkx_labels(G,pos,font_size=8,)
nx.draw(G,pos,edge_color='lightseagreen',alpha=0.5,connectionstyle='arc3, rad = 0.2',width=[float(v['weight']) for (r,c,v) in G.edges(data=True)])
edge_labels=dict([((u,v,),d['weight'])
             for u,v,d in G.edges(data=True)])
plt.savefig("D:/MATCH52.png",dpi=200, bbox_inches='tight')
show()
print('finish')

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論