【问题标题】:Visualise data as graph将数据可视化为图形
【发布时间】:2023-03-25 08:07:01
【问题描述】:

我有一个来自不同书籍的标题数据集。我希望使用每本书标题之间余弦相似度的网络图来可视化这一点。这些书被标记为两个类别 - 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)

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

【问题讨论】:

  • 方阵X 称为加权邻接矩阵。如果您在文档中检查这一点,我很确定图形工具应该有一种方法来加载邻接矩阵。

标签: python graph data-visualization


【解决方案1】:

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

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

注意:这与要求的颜色坐标不同。

【讨论】:

    猜你喜欢
    • 2012-12-13
    • 2015-05-12
    • 2015-07-08
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2013-10-30
    相关资源
    最近更新 更多