You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于字典中对应点索引的列表绘制带X、Y坐标的多车辆路线图

多车辆路线可视化解决方案

没问题,我来帮你把所有车辆的路线都可视化到同一张图上!先理清楚你的数据情况:

你有一个存储各车辆路线的字典,还有对应的点坐标与ID数据:

DictionaryOfRoutes = {'RouteOfVehicle_1': [0, 6, 1, 5, 0], 'RouteOfVehicle_2': [0, 4, 3, 0], 'RouteOfVehicle_3': [0, 2, 0]}
allIds = [0, 1, 2, 3, 4, 5, 6]
allxs = [50, 18, 33, 98, 84, 13, 50]
allys = [50, 73, 16, 58, 49, 63, 56]

你原来的代码只能处理单条路线,我们只需要修改成遍历所有路线、在同一个画布上绘制、用不同颜色区分每条路线即可。下面是修改后的完整代码:

import matplotlib.pyplot as plt
import numpy as np

def MultiRoutePlot(xx, yy, all_ids, route_dict):
    '''
    xx: 所有点的X坐标列表
    yy: 所有点的Y坐标列表
    all_ids: 所有点的ID列表
    route_dict: 存储各车辆路线的字典,键为车辆标识,值为路线点ID列表
    '''
    fig, ax = plt.subplots()
    fig.set_size_inches(6, 6)
    
    # 将坐标转换为numpy数组,方便按索引提取路线坐标
    allxs = np.array(xx)
    allys = np.array(yy)
    
    # 准备一组颜色,用于区分不同车辆的路线
    colors = ['blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black']
    color_index = 0
    
    # 遍历字典中的每一条车辆路线
    for vehicle_label, route in route_dict.items():
        route_array = np.array(route)
        # 绘制当前路线,使用不同颜色,并添加标签用于图例
        ax.plot(allxs[route_array], allys[route_array], 
                linestyle="-", marker="o", markersize=6,
                color=colors[color_index % len(colors)],
                label=vehicle_label)
        color_index += 1
    
    # 设置坐标轴范围,和你原来的保持一致
    plt.xlim([0, 100])
    plt.ylim([0, 100])
    plt.title("多车辆路线可视化")
    
    # 标注每个点的ID,微调位置避免遮挡坐标点
    for xi, yi, pidi in zip(xx, yy, all_ids):
        ax.annotate(str(pidi), xy=(xi, yi), xytext=(3, 3), textcoords='offset points')
    
    # 添加图例,方便识别每条路线对应的车辆
    plt.legend()
    plt.show()

关键改动说明:

  • 函数参数替换为路线字典route_dict,不再局限于单条路线
  • 增加颜色循环机制,确保每条路线有唯一的颜色(颜色不够时会循环复用)
  • 遍历字典的所有键值对,逐个绘制每条路线,并添加车辆名称作为图例标签
  • 优化了点ID的标注位置,避免遮挡坐标点
  • 添加图例,让你能清晰区分每条路线属于哪辆车

调用方式:

直接传入你的数据即可:

MultiRoutePlot(allxs, allys, allIds, DictionaryOfRoutes)

这样就能得到一张包含所有车辆路线的可视化图,每条路线颜色不同,还能通过图例区分车辆~

内容的提问来源于stack exchange,提问作者Yannis_Tr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 12:52:37