Python 将数据可视化为图形

Python 将数据可视化为图形,python,graph,data-visualization,Python,Graph,Data Visualization,我有一个来自不同书籍的标题数据集。我希望使用每本书的书名之间的余弦相似性网络图来形象化这一点。这些书被分为两大类-1或0,我想根据类别确定颜色坐标。每个标题之间的余弦相似性应该是垂直的权重 为此,我编写了以下代码: cs_title = squareform(pdist(tit.toarray(), 'cosine')) cs_abstract = squareform(pdist(abst.toarray(), 'cosine')) X = cs_title + cs_abstract pri

我有一个来自不同书籍的标题数据集。我希望使用每本书的书名之间的余弦相似性网络图来形象化这一点。这些书被分为两大类-
1
0
,我想根据类别确定颜色坐标。每个标题之间的余弦相似性应该是垂直的权重

为此,我编写了以下代码:

cs_title = squareform(pdist(tit.toarray(), 'cosine'))
cs_abstract = squareform(pdist(abst.toarray(), 'cosine'))
X = cs_title + cs_abstract
print(X.shape)
它输出每本书之间余弦相似性的平方矩阵。我现在想在一个无向图中形象地展示这一点。到目前为止,我写这篇文章是为了实例化一个graph类:

g = Graph(directed=False)

但我现在不确定如何添加要可视化的数据。

使用以下代码,您可以将邻接矩阵转换为图形:

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")

注:这不符合要求的颜色坐标。

正方形
X
矩阵称为加权邻接矩阵。如果您在文档中检查这一点,我非常确定graph tool应该有一种加载邻接矩阵的方法。