2017-06-16 45 views
0

我有來自不同書籍的標題數據集。我希望使用每本書的標題之間的餘弦相似度的網絡圖來顯示它。這些書籍分爲兩類 - 10 - 我想根據類別進行顏色座標。每個標題之間的餘弦相似度應該是頂點的權重。將數據可視化爲圖形

爲此,我已經寫此代碼:

cs_title = squareform(pdist(tit.toarray(), 'cosine')) 
cs_abstract = squareform(pdist(abst.toarray(), 'cosine')) 
X = cs_title + cs_abstract 
print(X.shape) 

其輸出X每本書之間的餘弦相似性的一個方陣。我現在想在一個無向圖中使用graph-tools來想象這個。到目前爲止,我已經寫了這個實例的圖形類:

g = Graph(directed=False) 

但我現在不知道該如何添加到可視化的數據。

+0

正方形'X'矩陣被稱爲加權鄰接矩陣。如果你在文檔中檢查,我很確定圖形工具應該有一種方法來加載一個鄰接矩陣。 –

回答

0

使用下面的代碼,你可以鄰接矩陣轉換成圖表:

g = graph_tool.Graph(directed = False) 
     g.add_vertex(len(X)) 
     edge_weights = g.new_edge_property('double') 
     for i in range(X.shape[0]): 
      for j in range(X.shape[1]): 
       if i > j and X[i,j] != 0: 
        e = g.add_edge(i, j) 
        edge_weights[e] = X[i,j] 
     graph_draw(g, vertex_text=g.vertex_index, vertex_font_size=18, output_size=(200, 200), output="two-nodes.png") 

注:這不色座標的要求。