Подтвердить что ты не робот

Matlab выбирает случайный цвет для построения графика

У меня есть 6 векторов, которые я хочу построить. Как я могу сделать каждый сюжет с другим цветом (случайным)? С помощью приведенного ниже кода участок ограничен одним цветом для всех шести векторов.

plot(x,y,'-rs','LineWidth',1,...
      'MarkerEdgeColor','k',...
      'MarkerFaceColor','g',...
      'MarkerSize',5);
4b9b3361

Ответ 1

Вы можете PLOT автоматически выбирать цвета линий для вас. Если все 6 ваших векторов имеют одинаковую длину, вы можете поместить координаты x и y в матрицы N-by-6 X и Y и передать их в PLOT. Для каждого столбца будет использоваться другой цвет:

plot(X,Y,'-s');  %# Plots lines with square markers

Вы также можете использовать некоторые встроенные colormaps для генерации набора цветов, а затем использовать их при построении каждой строки отдельно. Например:

cmap = hsv(6);  %# Creates a 6-by-3 set of colors from the HSV colormap
for i = 1:6     %# Loop 6 times
  plot(X(:,i),Y(:,i),'-s','Color',cmap(i,:));  %# Plot each column with a
                                               %#   different color
end

Ответ 2

Чтобы создать случайную цветовую карту, вы можете сделать следующее

myMap = rand(nbColors, 3);
for i = 1:nbColors
  plot(X(:,i),Y(:,i),'-s','Color',myMap(i,:));
end

Однако, как я изложил в своем комментарии к gnovice ответ, выбор цветов из цветовой карты обычно обеспечивает гораздо более читаемые цветовые комбинации.