Изменить существующие линии графика в соответствии с цветовой картой - PullRequest
2 голосов
/ 13 января 2020

У меня есть сюжет с несколькими линиями в Matlab, и я хочу контролировать цвета линий post-ho c:

figure; hold on;
for ind=1:4
  plot(rand(1,10))
end

Я знаю, что могу использовать

set(0,'DefaultAxesColorOrder',summer(4))

перед построением графика, чтобы изменить цвета линий графика, но (как) я могу добиться того же самого после просмотра графика? Возможно попробовать несколько разных цветов?

1 Ответ

2 голосов
/ 13 января 2020

Каждый график по умолчанию получает свой цвет из свойства 'ColorOrder' их оси, которое, в свою очередь, берется по умолчанию из 'DefaultAxesColorOrder' объекта groot.

После того, как участки были созданы, вам нужно изменить их цвета индивидуально; изменение вышеупомянутых свойств не повлияет на них:

g = findobj(gca, 'Type', 'line'); % children of current axis that are lines
c = summer(numel(g)); % desired color scheme, with that many colors
for k = 1:numel(g)
    set(g(k), 'color', c(k,:));
end
...