python將鄰接矩陣輸出成圖的實現(xiàn)
更新時間:2019年11月21日 18:51:35 作者:zy20150613
今天小編就為大家分享一篇python將鄰接矩陣輸出成圖的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
利用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()
將圖轉化為鄰接矩陣,再將鄰接矩陣轉化為圖,還有圖的集合表示,鄰接矩陣表示,圖形表示,這三種表現(xiàn)形式互相轉化的問題是一個值得學習的地方,繼續(xù)加油!
以上這篇python將鄰接矩陣輸出成圖的實現(xiàn)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
django如何連接已存在數(shù)據(jù)的數(shù)據(jù)庫
這篇文章主要給大家介紹了關于django如何連接已存在數(shù)據(jù)的數(shù)據(jù)庫的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用django具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-08-08使用虛擬環(huán)境打包python為exe 文件的方法
這篇文章主要介紹了關于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08