我正在编写一个使用pythongraph-tool库的程序,我很幸运地使用了带有graph_tool.draw.radial_tree_layout(g,vertexes[0])的径向树布局。然而,我的图中有几段是从其余部分中截取的,没有任何边指向我想要的图的任何部分。当我画这个图的时候,断开的网络被放在中间,在我想成为中心的顶点的上面因此,我需要一个算法,要么删除这些没有vertexes[0]路径的顶点,要么使用一个函数将它们放到图形中的其他位置。

最佳答案

我想起来了:
(我是从SQLite数据库中提取的)

c.execute('SELECT * FROM connections')
ucon = c.fetchall()

lastlevel = ['Philosophy']
nextlevel = []

pcon = []

while lastlevel != []:
    for i in ucon:
        if i[1] in lastlevel:
            nextlevel.append(i[0])
            pcon.append(i)
    lastlevel = nextlevel
    nextlevel = []

sqlite数据库中的每一行都是跨越边的起点和终点的元组。这不是很有效,但它确实很有效!

08-25 00:38