【问题标题】:Generating a picture/graphic of a graph生成图形的图片/图形
【发布时间】:2008-11-17 18:13:19
【问题描述】:

在研究跨网络的最短路径算法时,我想生成网络的图片。我想表示节点(圆)、链接(线)、遍历链接的成本(链接线中间的数字)和链接的容量(链接线上它所代表的节点旁边的数字)在图片里。是否有任何库/软件可以帮助自动创建此图片?

我可以在 Visio 或某些绘图应用程序中手动执行此操作,但我想在更改/调整网络时从代码中生成它们。

【问题讨论】:

  • 如果你想从你的代码中生成图表,如果你指定你的语言会更有帮助。

标签: networking drawing visualization graph-theory shortest-path


【解决方案1】:

听起来像是 GraphViz 的工作,它从一个简短的文本描述文件生成图形。我用它来生成连接节点图,我相信应该可以根据需要添加链接标签。

【讨论】:

  • 我为此使用了 Perl 模块,它非常有用。
【解决方案2】:

如果您使用的是 python,Nodebox 会绘制漂亮的图表。

【讨论】:

    【解决方案3】:

    像这样显示网络的一个大问题是弄清楚将节点放在显示屏上的什么位置。如果根据您的网络安排节点在逻辑上很简单,那么现成的产品可能会满足您的需求。

    如果安排要复杂得多,您可能必须接受一定程度的手动干预才能使其与现成的东西一起工作,或者咬紧牙关并自己编程整个事情。

    .NET 是一种选择,一旦你掌握了 Graphics 类,它就很容易使用,而且速度很快。但是,对于像这样的面向图形的东西,可能有比 .NET 更好的语言/平台。

    更新:对于 2D 图形,.NET 比我知道的要好得多。关键是找到一个快速的解决方法来解决 Bitmap 类中慢得可怜的 GetPixel() 和 SetPixel() 方法。一旦您可以轻松快速地读取和写入单个像素,您就可以作为程序员做任何您想做的事情。

    【讨论】:

      【解决方案4】:

      您是否偶然检查了 R 编程语言?我不是很肯定,但我相信你可以用图表制作图像等。 r-project.org

      【讨论】:

        【解决方案5】:

        这里有一堆各种算法的可视化:Algorithmics Animation Workshop

        【讨论】:

        • 这与他想要的无关。他想根据图表的当前状态绘制图像。您链接到一个网站,该网站直观地展示了某些算法的工作原理。
        • 另外,它可以给他一些关于他可能想要如何构建他的可视化的想法。有了所有这些算法示例的可视化,我相信他可以想办法调整其中的一两个以完全按照他的意愿行事。
        猜你喜欢
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-20
        • 1970-01-01
        • 2021-08-22
        • 1970-01-01
        • 2016-07-10
        相关资源
        最近更新 更多