请问在matlab中,怎么把以下坐标点连成的线放在一个图像中,并且要求添加图例时,每一个对应不同线条的图例颜色也可以不同。 for i = 1:x1-1 plot([Task(record_1(i),1),Task(record_1(i+1),1)],[Task(record_1(i),2),Task(record_1(i+1),2)],'-r'); hold on end for i = 1:x2-1 plot([Task(record_2(i),1),Task(record_2(i+1),1)],[Task(record_2(i),2),Task(record_2(i+1),2)],'--g'); hold on end for i = 1:x3-1 plot([Task(record_3(i),1),Task(record_3(i+1),1)],[Task(record_3(i),2),Task(record_3(i+1),2)],'--b'); hold on end for i = 1:x4-1 plot([Task(record_4(i),1),Task(record_4(i+1),1)],[Task(record_4(i),2),Task(record_4(i+1),2)],'-.k'); hold on end xlabel('x'); ylabel('y'); xlim([500 1000]); ylim([100 600]); legend('无人艇起点','目标任务地点','无人艇V1','无人艇V2','无人艇V3','无人艇V4');
时间: 2023-09-24 15:03:58 浏览: 70
要将这些坐标点连成的线放在一个图像中,并且添加图例时,每个线条对应的图例颜色也不同,可以按照以下步骤进行操作:
1. 在每个 `plot` 函数调用中,使用 `'DisplayName'` 参数为每个线条指定一个名称,以便在图例中显示。
2. 在 `legend` 函数中,使用 `'Color'` 参数为每个图例指定不同的颜色。
下面是修改后的代码示例:
```matlab
figure;
for i = 1:x1-1
plot([Task(record_1(i),1),Task(record_1(i+1),1)],[Task(record_1(i),2),Task(record_1(i+1),2)],'-r', 'DisplayName', '无人艇起点');
hold on
end
for i = 1:x2-1
plot([Task(record_2(i),1),Task(record_2(i+1),1)],[Task(record_2(i),2),Task(record_2(i+1),2)],'--g', 'DisplayName', '目标任务地点');
hold on
end
for i = 1:x3-1
plot([Task(record_3(i),1),Task(record_3(i+1),1)],[Task(record_3(i),2),Task(record_3(i+1),2)],'--b', 'DisplayName', '无人艇V1');
hold on
end
for i = 1:x4-1
plot([Task(record_4(i),1),Task(record_4(i+1),1)],[Task(record_4(i),2),Task(record_4(i+1),2)],'-.k', 'DisplayName', '无人艇V2');
hold on
end
xlabel('x');
ylabel('y');
xlim([500 1000]);
ylim([100 600]);
legend('Color', 'r', 'g', 'b', 'k');
```
在上述示例中,我们为每个 `plot` 函数调用添加了 `'DisplayName'` 参数,以便在图例中显示相应的名称。然后,在 `legend` 函数调用中,使用 `'Color'` 参数指定了每个图例的颜色。请根据需要修改颜色和图例名称。
阅读全文