【问题标题】:Minimize Cross Edges in a Graph最小化图中的交叉边
【发布时间】:2011-02-20 16:10:17
【问题描述】:

我在我的一个项目中使用 networkx(一个 python 绘图包)http://networkx.lanl.gov/index.html。虽然 networkx 很酷,但由于交叉边缘的数量,显示功能有点糟糕。有没有办法最小化图中的交叉边?我的意思是一种算法,它可以以最小化交叉边缘的方式对节点进行排序?

【问题讨论】:

  • 您是否尝试过使用 Graphviz 进行绘图?它在最小化交叉点方面可能会做得更好(尤其是 Dot,如果你有它喜欢的那种图表)。你有什么样的图表(即它来自哪里)?
  • 我认为 networkx 使用 graphviz 进行显示(通过 pydot)。这些图表来自特殊类型网络的痕迹。戒指是最受打击的:(
  • Planar Graph Layouts的可能重复
  • @belisarius:哇!我什至不记得那个...
  • 感谢贝利撒留!抱歉,我错过了。

标签: algorithm graph networkx planar-graph


【解决方案1】:

确定最小化交叉数量的平面图布局是 NP-Hard。请参阅Crossing Number 上的 wiki 页面。

您可以尝试一些启发式方法,我相信基于力的布局非常流行(如果我没记错的话,graphviz 会使用它们)。

你也可以尝试一些近似算法,你应该在我链接的 wiki 页面上找到参考。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    相关资源
    最近更新 更多