最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NetWorkX使用方法及nx.draw()相關(guān)參數(shù)解讀

 更新時(shí)間:2022年12月16日 15:10:03   作者:來包番茄沙司  
這篇文章主要介紹了NetWorkX使用方法及nx.draw()相關(guān)參數(shù)解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

networkx在02年5月產(chǎn)生,是用python語言編寫的軟件包,便于用戶對復(fù)雜網(wǎng)絡(luò)進(jìn)行創(chuàng)建、操作和學(xué)習(xí)。

利用networkx可以以標(biāo)準(zhǔn)化和非標(biāo)準(zhǔn)化的數(shù)據(jù)格式存儲網(wǎng)絡(luò)、生成多種隨機(jī)網(wǎng)絡(luò)和經(jīng)典網(wǎng)絡(luò)、分析網(wǎng)絡(luò)結(jié)構(gòu)、建立網(wǎng)絡(luò)模型、設(shè)計(jì)新的網(wǎng)絡(luò)算法、進(jìn)行網(wǎng)絡(luò)繪制等。

官方文檔:https://www.osgeo.cn/networkx/reference/introduction.html

代碼

首先導(dǎo)入包

import networkx as nx

創(chuàng)建一個(gè)空圖

G = nx.Graph()

添加節(jié)點(diǎn)和邊

G.add_node(1) #添加單個(gè)節(jié)點(diǎn)
G.add_node("x",name='tome') #添加單個(gè)節(jié)點(diǎn)及屬性
G.add_nodes_from([2,3]) #從一個(gè)可迭代容器中添加多個(gè)節(jié)點(diǎn)
G.add_nodes_from([(4, {"color": "red"}), (5, {"color": "green"})])# 添加節(jié)點(diǎn)和屬性
H = nx.path_graph(10) #創(chuàng)建一個(gè)新圖
G.clear() # 清空圖
G.add_nodes_from(H) #從另一張圖中添加節(jié)點(diǎn)
print(list(H.nodes))
print(list(G.nodes))
G.add_edge(1,3)#添加一條邊
G.add_edges_from([(2,3),(3,4)])# 添加多條邊

查看節(jié)點(diǎn)和邊

list(G.nodes) #查看節(jié)點(diǎn)
for k, v in G.nodes.items():  print(k,v)  #查看節(jié)點(diǎn)及屬性
G.number_of_nodes() #查看幾個(gè)節(jié)點(diǎn)
G.adj[1] #查看鄰居節(jié)點(diǎn)
G[1] #查看鄰居節(jié)點(diǎn)
list(G.neighbors(1)) #查看鄰居節(jié)點(diǎn)

G.number_of_edges() #查看幾條邊
G.add_edge(1,3) #查看特定邊
G.edges() #查看邊
G.add_edge(2,3)
G.edges([1]) #查看1連接的所有邊
G.edges([3]) #查看1連接的所有邊

G.degree[1] #查看度

for node,neighbors in g.adjacency():
    print(node, neighbors) # 查看鄰接矩陣內(nèi)容

刪除節(jié)點(diǎn)和邊

G.remove_node(4)
G.remove_edge(1,3)

用已有的圖構(gòu)建新圖

# 構(gòu)建有向圖
g = nx.DiGraph(G)
nx.draw(g)

獲取節(jié)點(diǎn)和邊

G = nx.Graph([(1,2,{'color':'red'})])
G[1] #獲取1的鄰居節(jié)點(diǎn)
G[1][2] #獲取邊屬性
G.edges[1,2] #獲取邊屬性

圖、節(jié)點(diǎn)、邊屬性

# 圖級別屬性
g = nx.Graph(day = 'none')
g.graph #輸出圖級別的屬性信息
g.graph['day']= 'tom' #修改圖級別屬性信息
g.graph['date']= 'now' #添加圖級別屬性信息
# 節(jié)點(diǎn)屬性
g.add_node(1, time='now')
g.add_nodes_from([2,3,4,5,6], time='yes')
g.nodes.data()
g.nodes[2]
# 邊屬性
g.add_edge(1,2,time='now')
g.add_edges_from([(1,2,{'time':'now'}),(1,3,{'time':'naw'})])
G[1][2]['color'] = 'blue'
G.edges[1,2]['color'] ='Y'
g.edges.data()

分析圖

# 分析圖:連通分量
g.clear()
g.add_edges_from([(1,2),(3,2)])
g.add_nodes_from("spam")
list(nx.connected_components(g)) #有5個(gè)連通分量
nx.draw(g) #可視化
#分析圖:按度排序
sorted(((node,degree) for node,degree in g.degree), key= lambda d:d[1],reverse = True)

圖可視化

# 圖可視化
g = nx.petersen_graph()
nx.draw(g, with_labels = True) #標(biāo)明label

從edgelist讀取圖

# 從edgelist讀取圖
g = nx.read_edgelist('edglist.txt')
nx.draw(g, with_labels= True)

保存圖

plt.savefig("path.png")

networkx–nx.draw()參數(shù)

x.draw()方法,至少接受一個(gè)參數(shù):待繪制的網(wǎng)絡(luò)G

運(yùn)行樣式

  • node_size:指定節(jié)點(diǎn)的尺寸大小(默認(rèn)是300)
  • node_color:指定節(jié)點(diǎn)的顏色 (默認(rèn)是紅色,可以用字符串簡單標(biāo)識顏色,例如'r'為紅色,'b'為綠色等)
  • node_shape:節(jié)點(diǎn)的形狀(默認(rèn)是圓形,用字符串'o'標(biāo)識)
  • alpha: 透明度 (默認(rèn)是1.0,不透明,0為完全透明)
  • width: 邊的寬度 (默認(rèn)為1.0)
  • edge_color: 邊的顏色(默認(rèn)為黑色)
  • style: 邊的樣式(默認(rèn)為實(shí)現(xiàn),可選: solid|dashed|dotted,dashdot)
  • with_labels: 節(jié)點(diǎn)是否帶標(biāo)簽(默認(rèn)為True)
  • font_size: 節(jié)點(diǎn)標(biāo)簽字體大小 (默認(rèn)為12)
  • font_color: 節(jié)點(diǎn)標(biāo)簽字體顏色(默認(rèn)為黑色)

運(yùn)用布局

  • circular_layout:節(jié)點(diǎn)在一個(gè)圓環(huán)上均勻分布
  • random_layout:節(jié)點(diǎn)隨機(jī)分布
  • shell_layout:節(jié)點(diǎn)在同心圓上分布
  • spring_layout:用Fruchterman-Reingold算法排列節(jié)點(diǎn)(樣子類似多中心放射狀)
  • spectral_layout:根據(jù)圖的拉普拉斯特征向量排列節(jié)點(diǎn)

添加文本

用plt.title()方法可以為圖形添加一個(gè)標(biāo)題,該方法接受一個(gè)字符串作為參數(shù)。

fontsize參數(shù)用來指定標(biāo)題的大小。例如:plt.title(“BA Networks”, fontsize = 20)。

如果要在任意位置添加文本,則可以采用plt.text()方法。

總結(jié)

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

相關(guān)文章

最新評論

山东| 延川县| 电白县| 文成县| 邛崃市| 仁布县| 临朐县| 永丰县| 忻城县| 牙克石市| 萝北县| 凌源市| 英吉沙县| 辽宁省| 霸州市| 山西省| 安达市| 蒙自县| 信丰县| 榆林市| 平阴县| 平安县| 西充县| 莱西市| 香港 | 工布江达县| 永福县| 和平县| 资兴市| 咸丰县| 巩留县| 彰武县| 通州市| 西林县| 永定县| 渝北区| 山丹县| 青神县| 志丹县| 界首市| 恩施市|