当前位置:   article > 正文

python绘制旅行商(TSP)问题的路线图_旅行商tsp文件画图

旅行商tsp文件画图

用python绘制旅行商问题路线图

最近在研究TSP问题,然后在最后需要绘制旅游路线,自己摸索了一会儿最终整理出来供自己将来备用【防止自己又忘记】
百度链接附完整TSP程序,备注已经很详细了,应该完全可以看懂!
链接:https://pan.baidu.com/s/1Z8BBgV7hGvPW84d8nN9UUA 密码:3bz1
以下是部分代码:

plot_x_set = []
plot_y_set = []
print(solutioncurrent+1)  # 输出最优路径图
for i in solutioncurrent:
    # plt.plot(coordinates[i])
    plot_x_set.append(coordinates[i][0])
    plot_y_set.append(coordinates[i][1])
plt.plot(plot_x_set,plot_y_set,'r')
plt.scatter(plot_x_set,plot_y_set,)
for i,txt in enumerate(solutionnew+1): # 标注每个点的序号
    plt.annotate(txt, (plot_x_set[i],plot_y_set[i]))
# 首尾2个点的连线
x = [plot_x_set[0],plot_x_set[-1]]
y = [plot_y_set[0],plot_y_set[-1]]
plt.plot(x, y, 'k')  # 用黑色标识
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

如果去掉TSP实际背景,单纯绘制路线图的并标注各个点的序号的话,代码如下:

import numpy as np
import matplotlib.pyplot as plt
x = [2.3, 4.5, 3, 7, 6.5, 4, 5.3]
y = [5, 4, 7, 5, 5.3, 5.5, 6.2]
n = np.arange(len(x))
plt.scatter(x, y, c='r')
for i, txt in enumerate(n):
    plt.annotate(txt, (x[i], y[i]))
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

效果如下:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/194898?site
推荐阅读
相关标签
  

闽ICP备14008679号