首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将同一节点之间的边缘视为不同的

将同一节点之间的边缘视为不同的
EN

Stack Overflow用户
提问于 2019-02-25 17:45:48
回答 1查看 141关注 0票数 0

我使用networkx从边缘创建图形,这些边是节点对。问题是,有时对重复,但它们是一个分离的边缘。

所以在下面的例子中,每个链接都是一个独立的跳,我们将流量从c:3发送到d:4,作为STM-16,然后返回到STM-4,返回到c:3,然后发送到e:5。所以我想把所有这些都用一条直线表示。

两个节点之间的每个链接都是不同的,并且有一个独立的链接标签。

示例:

代码语言:javascript
复制
edgeList=[]

start_time = time.time() 

G = nx.Graph()

G.add_edges_from([
(('a:1'), ('b:2'), {'link':'one'}),
(('b:2'), ('c:3'), {'link':'two'}),
(('c:3'), ('d:4'), {'link':'three'}),
(('d:4'), ('c:3'), {'link':'four'}),
(('c:3'), ('e:5'), {'link':'five'})
])

nx.draw(G, with_labels=True)
plt.savefig("path.png")
plt.show()

这给了我:图输出

我要找的是一条直线,我想从

a:1>>b:2>>c:3>>d:4>>c:3>>e:5

在C3用一条直线而不是叉子

我不能使用DiGraph,因为我没有方向,我有一个无序的集合(node1,node2,linkname)

另外,我不能更改节点名称,它们稍后会被用于提取一组节点属性

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-25 18:05:43

您违反了图的一个基本属性:给定的标签唯一地标识节点。你告诉networkx“回到c:3",它完全按照你说的做了。

首先,理解一个图的本质:所有这些边同时存在。当你绘制图表时,在图片中没有线性排序。没有“回到”,只有一端有箭头的边缘。

你的基本图论矛盾就在这里:

代码语言:javascript
复制
we send traffic from c:3 to d:4 as STM-16
and it comes back groomed down to STM-4 
back to c:3 where it is sent on to e:5

您给了两个不同的节点相同的标签。在图中,这意味着它们是相同的状态,但是您的描述清楚地表明您期望不同的操作。总之,下定决心吧。如果它们需要不同的操作,那么它们是不同的状态,您必须在图形规范中这样描述它们。如果您的工厂恰好将这两个步骤放置在同一个物理位置,那么这就是工厂建设中的问题,而不是这个图形化实用程序的担心。:-)

我看到两个基本的选择:

(1)用描述性的方式标注你的步骤。返回位置c实际上是步骤5,而不是返回步骤3。

代码语言:javascript
复制
G.add_edges_from([
(('a:1'), ('b:2'), {'link':'one'}),
(('b:2'), ('c:3'), {'link':'two'}),
(('c:3'), ('d:4'), {'link':'three'}),
(('d:4'), ('c:5'), {'link':'four'}),
(('c:5'), ('e:6'), {'link':'five'})
])

(2)给networkx一个用您的术语描述事物的标签,但是使用不显示的装饰:

代码语言:javascript
复制
G.add_edges_from([
(('a:1'), ('b:2'), {'link':'one'}),
(('b:2'), ('c:3'), {'link':'two'}),
(('c:3'), ('d:4'), {'link':'three'}),
(('d:4'), (' c:3 '), {'link':'four'}),
((' c:3 '), ('e:5'), {'link':'five'})
])

我不确定这是否会特别愚弄networkx,但试试看。如果不起作用,请尝试使用下划线或句点。在最坏的情况下,也许"c:3.1“和"c:3.2”可以满足您的需要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54871897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档