赞
踩
最近在研究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()
如果去掉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()
效果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。