python创建图例补丁
想在生成的甘特图图例补丁中将条形图部分改为虚线(仅面向图例补丁)
在 Matplotlib 中创建一个带有虚线的图例补丁,需要结合 Line2D 对象,而不是 Patch 对象,因为 Patch 对象本质上是用来表示填充区域而不是线条。Line2D 对象可以设置线条样式,如虚线(linestyle=‘–’)等。
具体代码部分如下:
for i in range(len(self.agv_process_record)):
agv_start_times = []
agv_indices = []
for j in range(len(self.agv_process_record[i])):
agv_start_times.append(self.agv_process_record[i][j][0])
agv_indices.append(self.agv_process_record[i][j][3] + 1)
plt.plot(agv_start_times, agv_indices, color=colors[-1 - i], marker='o', linestyle='--', linewidth=2,
label=f'AGV{i}')
patches = [mpatches.Patch(color=colors[i], label=label_job[i]) for i in range(len(label_job))]
for i in range(len(label_agv)):
line_patches=[mlines.Line2D([], [], color=colors[-1 - i], linestyle='--', linewidth=2, label=label_agv[i])
for i in range(len(label_agv))]