python將鄰接矩陣輸出成圖的實現
更新時間:2019年11月21日 18:51:35 作者:zy20150613
今天小編就為大家分享一篇python將鄰接矩陣輸出成圖的實現,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
利用networkx,numpy,matplotlib,將鄰接矩陣輸出為圖形。
1,自身確定一個鄰接矩陣,然后通過循環(huán)的方式添加變,然后輸出圖像
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
G = nx.Graph()
Matrix = np.array(
[
[0, 1, 1, 1, 1, 1, 0, 0], # a
[0, 0, 1, 0, 1, 0, 0, 0], # b
[0, 0, 0, 1, 0, 0, 0, 0], # c
[0, 0, 0, 0, 1, 0, 0, 0], # d
[0, 0, 0, 0, 0, 1, 0, 0], # e
[0, 0, 1, 0, 0, 0, 1, 1], # f
[0, 0, 0, 0, 0, 1, 0, 1], # g
[0, 0, 0, 0, 0, 1, 1, 0] # h
]
)
for i in range(len(Matrix)):
for j in range(len(Matrix)):
G.add_edge(i, j)
nx.draw(G)
plt.show()

2,有向圖
G = nx.DiGraph()
G.add_node(1)
G.add_node(2)
G.add_nodes_from([3, 4, 5, 6])
G.add_cycle([1, 2, 3, 4])
G.add_edge(1, 3)
G.add_edges_from([(3, 5), (3, 6), (6, 7)])
nx.draw(G)
# plt.savefig("youxiangtu.png")
plt.show()

3, 5節(jié)點完全圖
G = nx.complete_graph(5)
nx.draw(G)
plt.savefig("8nodes.png")
plt.show()

4,無向圖
G = nx.Graph()
G.add_node(1)
G.add_node(2)
G.add_nodes_from([3, 4, 5, 6])
G.add_cycle([1, 2, 3, 4])
G.add_edge(1, 3)
G.add_edges_from([(3, 5), (3, 6), (6, 7)])
nx.draw(G)
# plt.savefig("wuxiangtu.png")
plt.show()

5,顏色節(jié)點圖
G = nx.Graph()
G.add_edges_from([(1, 2), (1, 3), (1, 4), (1, 5), (4, 5), (4, 6), (5, 6)])
pos = nx.spring_layout(G)
colors = [1, 2, 3, 4, 5, 6]
nx.draw_networkx_nodes(G, pos, node_color=colors)
nx.draw_networkx_edges(G, pos)
plt.axis('off')
# plt.savefig("color_nodes.png")
plt.show()
將圖轉化為鄰接矩陣,再將鄰接矩陣轉化為圖,還有圖的集合表示,鄰接矩陣表示,圖形表示,這三種表現形式互相轉化的問題是一個值得學習的地方,繼續(xù)加油!
以上這篇python將鄰接矩陣輸出成圖的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用虛擬環(huán)境打包python為exe 文件的方法
這篇文章主要介紹了關于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08

