圖鄰接矩陣可視化解析
更新時間:2022年12月16日 09:54:18 作者:科技論文精講
這篇文章主要介紹了基于圖鄰接矩陣可視化解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
使用工具
#導(dǎo)入模塊 import networkx as nx import numpy as np import matplotlib.pyplot as plt import scipy.sparse as sp
準(zhǔn)備數(shù)據(jù)
# 鄰接矩陣 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 ] )
轉(zhuǎn)化臨界矩陣
def get_matrix_triad(coo_matrix , data=False): ''' 獲取矩陣的元組表示 (row,col) data 為 True 時 (row,col,data) :dependent scipy :param coo_matrix: 三元組表示的稀疏矩陣 類型可以為 numpy.ndarray :param data: 是否需要 data值 :return: list ''' # 檢查類型 if not sp.isspmatrix_coo(coo_matrix): # 轉(zhuǎn)化為三元組表示的稀疏矩陣 coo_matrix = sp.coo_matrix(coo_matrix) # nx3的矩陣 列分別為 矩陣行,矩陣列及對應(yīng)的矩陣值 temp = np.vstack((coo_matrix.row , coo_matrix.col , coo_matrix.data)).transpose() return temp.tolist()
測試
edags = get_matrix_triad(Matrix) --> [[0.0, 0.0, 1.0], [0.0, 1.0, 1.0], [0.0, 2.0, 1.0], [0.0, 3.0, 1.0], [0.0, 4.0, 1.0], [0.0, 5.0, 1.0], [1.0, 1.0, 1.0], [1.0, 2.0, 1.0], [1.0, 4.0, 1.0], [2.0, 2.0, 1.0], [2.0, 3.0, 1.0], [3.0, 3.0, 1.0], [3.0, 4.0, 1.0], [4.0, 4.0, 1.0], [4.0, 5.0, 1.0], [5.0, 2.0, 1.0], [5.0, 5.0, 1.0], [5.0, 6.0, 1.0], [5.0, 7.0, 1.0], [6.0, 5.0, 1.0], [6.0, 6.0, 1.0], [6.0, 7.0, 1.0], [7.0, 5.0, 1.0], [7.0, 6.0, 1.0], [7.0, 7.0, 1.0]]
創(chuàng)建圖
# 創(chuàng)建一個沒有邊,沒有節(jié)點(diǎn)的空圖Graph G = nx.Graph()
添加節(jié)點(diǎn)
按照節(jié)點(diǎn)的個數(shù)添加節(jié)點(diǎn)
H = nx.path_graph(Matrix.shape[0]) G.add_nodes_from(H)
添加邊
G.add_edges_from(edags) #添加邊 # 若數(shù)據(jù)含有權(quán)重,及 get_matrix_triad() 中 data = True ,則使用 G.add_weighted_edges_from(edags)
繪圖
colors = np.arange(Matrix.shape[0]) nx.draw(G,pos=nx.spring_layout(G),node_color=colors) plt.show()
擴(kuò)展
美化圖
合理使用**draw_networkx ()**中的參數(shù),來美化圖
draw_networkx()
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
帶你學(xué)習(xí)Python如何實(shí)現(xiàn)回歸樹模型
這篇文章主要介紹了Python如何實(shí)現(xiàn)回歸樹模型,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07Python中最好用的命令行參數(shù)解析工具(argparse)
這篇文章主要介紹了Python中最好用的命令行參數(shù)解析工具(argparse),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08pytorch中Schedule與warmup_steps的用法說明
這篇文章主要介紹了pytorch中Schedule與warmup_steps的用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05