我在一系列图像上绘制不断变化的线轨迹。我希望线条具有不同的颜色(尽可能多),并且希望颜色在整个序列中保持不变。我的代码现在使用了一个plot命令(plot(traj_to_plot{:})),该命令使用一个单元格数组,其中包含每个轨迹(即traj_to_plot={[traj1_x_coor] [traj1_y_coor] [traj2_x_coor] [traj2_y_coor] ...})交替的x和y坐标。循环的每个周期之间的轨迹顺序并不总是保持不变,并且轨迹的数量可以改变,如前所述。我需要在一帧中绘制的轨迹与在连续帧中绘制的相同轨迹之间建立某种关联,如果它停止,我需要以下轨迹保持相同的颜色(而不是简单地根据ColorOrder周期改变)。
下面是两张连续的图片,其中发生了变化:


这个问题在这些示例照片中很明显。因为蚂蚁编号2在第二帧中没有被识别,所以颜色顺序周期改变了大多数轨迹的颜色。有什么想法吗?
发布于 2013-04-05 01:34:26
您可以手动为每个绘图指定颜色,如下所示:
figure();
hold on;
plot(traj_to_plot{1},'red')
plot(traj_to_plot{2},'blue')诸若此类。
如果这是一项重复性的任务,您可以使用以下内容:
colours = {'blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black'};
figure();
hold on;
traj_to_plot1{1} = [1 2 3];
traj_to_plot1{2} = [0 2 4];
for ii=1:numel(traj_to_plot1)
plot(traj_to_plot1{ii},colours{mod(ii,numel(colours))});
end
traj_to_plot2{1} = [0.5 2 3.5];
traj_to_plot2{2} = [-0.5 2 4.5];
traj_to_plot2{3} = [-1.0 2 5];
for ii=1:numel(traj_to_plot2)
plot(traj_to_plot2{ii},colours{mod(ii-1,numel(colours))+1}); %Thanks to @wakjah.
end

https://stackoverflow.com/questions/15817754
复制相似问题