【问题标题】:How to affect positions to the graph nodes for visualization?如何影响图形节点的位置以进行可视化?
【发布时间】:2019-08-15 05:56:21
【问题描述】:

我有一个图表,我用NetworkxDotfile 读取,为了可视化它,我需要影响每个节点的位置 (x,y)。我该怎么做?

为了可视化,我在 python3.6 上使用Plotly 离线模式,为此我需要边缘和节点的位置。 现在,我尝试给出随机值,但这似乎根本不起作用

基本上,我用于绘图的代码是这个:https://plot.ly/python/network-graphs/ 该算法使用随机创建的 Graph 中的“pos”,但对我来说,我没有这些坐标,也不知道如何生成它们。

【问题讨论】:

标签: python-3.x graph data-visualization networkx


【解决方案1】:

您尝试解决的问题称为graph layouts。 networkx中有一些图布局算法:networkx.drawing.layout。示例如下:

import networkx as nx

G = nx.Graph()
G.add_nodes_from([1,2,3,4,5])
G.add_edges_from([(1,2),(2,3),(2,4),(4,5)])
nx.spring_layout(G)

返回所有节点的坐标:

{1: array([-0.73835686,  0.38769421]),
 2: array([-0.11386106,  0.22912486]),
 3: array([0.14264776, 0.81717097]),
 4: array([ 0.21475452, -0.43399004]),
 5: array([ 0.49481564, -1.        ])}

【讨论】:

    猜你喜欢
    • 2019-09-09
    • 2014-03-13
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    相关资源
    最近更新 更多