编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
import matplotlib.pyplot as plt

# 数据集名称
datasets = ['ETH', 'HOTEL', 'UNIV', 'ZARA1', 'ZARA2', 'AVG']

# 维度
dims = [4, 6, 8,10, 12] 

# 各个数据集的误差值 (单位: mm) 对应表格中的数据
errors = {
    'ETH': [107, 65, 50, 39, 36], 
    'HOTEL': [36, 27, 23, 20,17], 
    'UNIV': [45, 23, 15, 11, 12], 
    'ZARA1': [38, 20, 12, 9, 10], 
    'ZARA2': [28, 14, 9, 6, 9], 
    'AVG': [51, 30, 22, 17, 19] 
}

# 绘制折线图
plt.figure(figsize=(10, 6))

for dataset in datasets:
    plt.plot(dims, errors[dataset], marker='o', label=dataset)

# 图例
plt.legend()

# 添加标题和轴标签
plt.title('L2 Distance Error vs Dim (Descriptor Dimension)')
plt.xlabel('Dim (Descriptor Dimension)')
plt.ylabel('L2 Distance Error (mm)')

# 显示折线图
plt.grid(True)
plt.show()