關係圖之原始資料
我給大家編了下面兩組原始資料,試圖畫出abcd四元素之間的關係
nodes_data = [『a』, 『b』, 『c』, 『d』]
raw_data = [『acw』, 『aca』, 『cae』, 『ec』, 『cd』, 『dc』]
我們做關係網路前的最初始資料最好就是上面這樣子,這種資料格式還是比較簡單的。
nodes_data表示節點資料,用來在圖中畫節點
raw_data中含有共現的相互關係,但是需要進一步的清理規整。
關係圖之資料格式}
source 起點
target 終點
weight權重(起點到終點次數)
nodes_data = [『a』, 『b』, 『c』, 『d』]
raw_data = [『acw』, 『aca』, 『cae』, 『ec』, 『cd』, 『dc』]
nodes_data和raw_data整理成有權有向資料格式如下:
,『c』: ,
『d』: }
上面的格式即可用來畫有權有向圖,也可用到無權無向圖,還可畫有權無向圖、無權有向圖。
所以資料儲存,盡量儲存為有權有權有向格式。盡可能儲存多的資訊,請用有權有向資料格式。
後面所有的關係圖資料格式均以有權有向格式為基準。
如何實現有權有向資料格式
nodes_data = [『a』, 『b』, 『c』, 『d』]
raw_data = [『acw』, 『aca』, 『cae』, 『ec』, 『cd』, 『dc』]
|||| ?\/,
『c』: ,
『d』: }
這裡很難,我估計我今天也說不太清除。這個只能希望大家悟性比我高,在就是執行下,編點簡單的資料實驗試驗下,發現規律,也就懂了。
networkx需要的資料格式
有了上面富有資訊量的有向有權格式資料還不行,我們要再將資料微調下,才能使用networkx庫。
networkx需要啥資料格式?
data = ,
『c』:,
『e』:,
『b』:}
nodes =
networkx節點
#首先導入庫,解決中文顯示問題
import networkxasnx
import matplotlib.pyplot as
plt
from
pylab import mpl
#解決顯示中文問題
# 指定預設字型
mpl.rcparams['font.sans-serif'
] = [
'simhei'
]
# 解決儲存影象是負號'-'
顯示為方塊的問題
可見networkx建立節點需要的資料很簡單,就是 字串或者列表(集合也可以的) 。而且本身nodes資料就是列表,直接就能用到networkx構建節點中來。
但是networkx構建邊時候,要用什麼樣式的呢?
networkx無向邊
可見networkx 無向邊 的構建只需要元組或列表資料,但是如何從 有權有向格式資料 轉化為 元組 或者 列表(集合也可以的) 資料呢?
data = ,
『c』:,
『e』:,
『b』:}
一、無權無向邊
a->b 和b->a是一條邊
data的邊的集合是
生成無權無向邊資料的**:
二、 有權無向邊
a->b和b->a使得 ab共出現5次。
有權無向邊應為
networkx有向邊
可見networkx無向邊的構建只需要元組或列表資料,但是如何從有權有向格式資料轉化為元組或者列表(集合也可以的)資料呢?
data = ,
『c』:,
『e』:,
『b』:}
一、無權有向邊
a->b 和b->a是一條邊
data的邊的集合是
生成無權有向向邊資料的**:
二、有權有向邊
[(『a』, 『b』, 1), (『c』, 『a』, 2), (『e』, 『b』, 3), (『b』, 『a』, 4)]
這樣更好理解些
weight = data.get(node_k).get(node_v)其實涉及到有權的邊畫圖,比如讓邊顯示粗細以表示權重大小。這個我還沒有實現,主要是剛剛學networkx。不過今天這篇文章的**還是很有用的。可以將資料整理成其他繪圖軟體指定格式。繪製有權圖。
寫了這麼多也不知道大家搞糊塗了沒有,反正我寫的有點暈!
複雜網路分析拓撲指標
1.點強度 無向圖研究節點i所有連線的邊的權重和作為點i的點強度,在複雜網路分析中,節點的點強度越大,說明該節點轉換至其他節點的頻數越多,該節點越重要。平均點強度就是所有點強度和除所有點的個數所得到的值 2.加權聚類係數 對於加權複雜網路,節點i的加權聚類係數定義為 式子中,k為節點i的度 a表徵節...
arcgis 之網路分析
1.前言 現實世界中,有很多網路關係,比如交通網路,地下水管等,在arcgis中,根據地理網路中資源的流動方向是否確定,將地理網路模型分為幾何網路模型和網路資料集模型。2.幾何網路模型和網路資料集模型的區別兩者的不同如下表 摘自arcgis10地理資訊系統教程 牟乃夏 3.幾何網路模型 3.1 定義...
嗯嗯嗯 複雜網路分析(二)
咱們還是從頭開始研究。以下是我導師的博士 的主要內容,我借其用來學習學習。整個學習流程所涉及的知識點還是很多的。學習路線就是這麼乙個情況,我試著從頭開始,看能不能完成呢!1.複雜網路概論 1.1複雜網路的特性 1.2網路屬性 1.3網路模型 1.4資訊網路 2.複雜網路上的資訊過濾 2.1推薦系統 ...