【问题标题】:Is it possible to add undirected and directed edges to a graph object in networkx?是否可以向networkx中的图形对象添加无向和有向边?
【发布时间】:2019-08-25 01:46:33
【问题描述】:

我正在实施一种算法来确定数据集的图形结构。数据集可能在变量之间具有无向或有向边。我可以在 Python 中创建自己的图形对象,但我很好奇 Networkx 是否具有此功能。从我所见,Networkx 只有一个 Graph 对象(只有无向边)和一个 DiGraph 对象(仅适用于有向边)。有没有办法在 Networkx 的无向图中包含有向边和/或反之亦然?

【问题讨论】:

  • Hrm...无向边和双向边有区别吗?
  • @ScottBoston 好问题。我认为在技术上存在差异,但就我的算法而言,我认为用双向边表示无向边是可以的(该算法不考虑双向性)。
  • 然后选择双向边,这将是解决问题的最简单形式。
  • 感谢@ScottBoston 和 m.raynal。出于好奇,有没有办法处理 Networkx 中无向边和双向边之间的差异?
  • 老实说我不知道​​(我从未与networkx 合作过)。指有向和无向图的常用术语是mixed graph(即使the definition seems to be foggy)。所以我建议你在networkx 中查找该术语,但我觉得它是一个非常罕见的对象,因此很少有库真正实现它们。

标签: python-3.x networkx graph-theory


【解决方案1】:

networkx 没有混合图形处理。有discussions about it,但是实现对整个库有影响,所以暂停了。据我所知,graph-tooligraph 也没有这个功能。如果你不满意双向边作为无向边,恐怕你不应该使用 Python 库,因为在最流行的 Python 图库中不可能同时拥有有向边和无向边:networkxgraph-tool 和 @987654327 @。

【讨论】:

  • 谢谢。我最终创建了自己的图形类来处理两者。
猜你喜欢
  • 2017-06-28
  • 1970-01-01
  • 2020-12-09
  • 2021-05-05
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多