我正在测试一种算法,该算法在图中的两个特定顶点之间找到最短路径,并在每次回合后给出顶点列表(实际上它给出了三条路径 - 其中一条是此图中的最短路径,另外两条是某种额外的路径,对我们来说也很重要,用于进一步的最短路径计算)。在每一圈,图形边缘的权重都会以某种方式变化,因此每转一圈我们都会得到一个新的三重列表(路径)。我想通过绘制一个图表来可视化这些路径的演变(这个图表实际上是一个代表城市的网格,例如纽约),每种路径都将用某种颜色表示(因此在每个转弯处都会有一个带有三种颜色路径的网格)。再来一次 - 在每个转弯处,路径都会有所不同,因此图片会发生变化。最好的表现方式是什么?还有一个问题 - 有时会有属于其中两个甚至三个路径的边缘,我想展示它,所以如果有机会一次用两种/三种颜色为这个边缘着色,那就太好了。如果可以让它看起来像两个/三个更细的边缘放在一起,那就太完美了,但我只能找到一种情况,即我们连续绘制几条不同颜色的线(例如:在此处输入图像描述)。有没有办法让它成为第一种方法?
我很抱歉没有话语,但我从来没有处理过Python中的图形,我迫切需要帮助。谢谢!
在 GUI 中显示图像,这取决于要使用的 GUI 工具包。在大多数 Python 发行版附带的Tkinter
工具包中,您可以使用 Canvas
小部件。网上有几个教程[1],[2]。大多数 GUI 工具包具有类似的功能,但它们可以具有不同的名称。
如果要将图像保存到文件,可以使用许多图形库,具体取决于要将其保存为哪种格式。
- 例如,Python绑定到Cairo库可以将图片保存为PDF或SVG矢量格式。
- 另一方面,枕头库支持许多位图格式。
- 还有很多其他的;matplotlib,agg,gd只是一些例子。