为什么 networkx 显示 traverse_face 的人脸不正确?
Why does networkx show incorrect faces for traverse_face?
我有一个平面图。下图的边和节点是:https://gist.github.com/nickponline/88848dc9cd10722fe8b7c4a2e628292f
我正在使用 traverse_face
将红色箭头右侧的脸显示为蓝色,箭头左侧的脸显示为绿色。但我得到的结果是下图。有两点不对劲,首先方向似乎颠倒了,其次外表面不包括白色三角形(跳过了顶部的白色表面)。在某些情况下,这确实会生成正确的结果,而不是下图。
编辑:我的代码是这样的:
H = nx.Graph( "nodes and edges in gist link" )
ret, P = nxa.planarity.check_planarity(H)
L = {}
R = {}
for edge in P.edges:
rface = planar.traverse_face(edge[0], edge[1])
lface = planar.traverse_face(edge[1], edge[0])
R[edge] = rface
L[edge] = lface
# Plotting edges edge and left and right face ...
我意识到当顶点具有几何位置时,平面嵌入可能会改变循环。
我有一个平面图。下图的边和节点是:https://gist.github.com/nickponline/88848dc9cd10722fe8b7c4a2e628292f
我正在使用 traverse_face
将红色箭头右侧的脸显示为蓝色,箭头左侧的脸显示为绿色。但我得到的结果是下图。有两点不对劲,首先方向似乎颠倒了,其次外表面不包括白色三角形(跳过了顶部的白色表面)。在某些情况下,这确实会生成正确的结果,而不是下图。
编辑:我的代码是这样的:
H = nx.Graph( "nodes and edges in gist link" )
ret, P = nxa.planarity.check_planarity(H)
L = {}
R = {}
for edge in P.edges:
rface = planar.traverse_face(edge[0], edge[1])
lface = planar.traverse_face(edge[1], edge[0])
R[edge] = rface
L[edge] = lface
# Plotting edges edge and left and right face ...
我意识到当顶点具有几何位置时,平面嵌入可能会改变循环。