3

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

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

4

5 回答 5

7

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

于 2008-11-17T18:22:56.227 回答
4

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

于 2008-11-17T18:16:24.600 回答
1

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

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

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

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

于 2008-11-17T18:27:24.190 回答
0

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

于 2008-11-17T18:18:00.153 回答
-1

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

于 2008-11-17T18:17:16.473 回答