Почему графики разных цветов?

Новая последовательность цветов

Начиная в R2014b, графика MATLAB® имеет новую последовательность цветов, которая определяет цвета, используемые в графиках. Эта таблица показывает последовательность цветов, введенную в R2014b по сравнению с предыдущими релизами. Это также перечисляет значения триплета RGB, которые задают цвета.

Запуск в R2014bR2014a и ранее

         0    0.4470    0.7410
    0.8500    0.3250    0.0980
    0.9290    0.6940    0.1250
    0.4940    0.1840    0.5560
    0.4660    0.6740    0.1880
    0.3010    0.7450    0.9330
    0.6350    0.0780    0.1840
         0         0    1.0000
         0    0.5000         0
    1.0000         0         0
         0    0.7500    0.7500
    0.7500         0    0.7500
    0.7500    0.7500         0
    0.2500    0.2500    0.2500

Свойство ColorOrder осей содержит последовательность цветов. Чтобы изменить последовательность цветов, установите различное значение по умолчанию для свойства ColorOrder. Например, это кодовые наборы порядок цвета по умолчанию к цветам используется в предыдущих релизах.

co = [0 0 1;
      0 0.5 0;
      1 0 0;
      0 0.75 0.75;
      0.75 0 0.75;
      0.75 0.75 0;
      0.25 0.25 0.25];
set(groot,'defaultAxesColorOrder',co)

Циклы Команды хранения Через Цвета

В R2014a и ранее, команда hold on не сохраняет текущий цвет, таким образом, новые графики, добавленные к осям, запускаются с начала последовательности цветов. Визуально, это означает, что новые графики используют тот же начальный цвет. Начиная в R2014b, команда hold on сохраняет текущий цвет так, чтобы новые графики, добавленные к использованию осей следующее, раскрасили последовательность цветов.

Например, этот код отображает шесть строк с помощью команды hold on. Начиная в R2014b, цикл строк через последовательность цветов и получившийся график использует первые шесть цветов последовательности цветов.

data = [5 6 7; 2 3 4; 4 5 6];
plot(data);
hold on
plot(3*data);
hold off

Если при запуске тот же код в предыдущих релизах, последовательность цветов перезапускает с каждой командой графического вывода. Получившийся график использует первые три цвета последовательности цветов дважды.

Перезапуск последовательности цветов

Запуск в R2014b, если вы хотите перезапустить последовательность цветов перед каждой командой графического вывода, затем установил свойство ColorOrderIndex осей к 1.

data = [5 6 7; 2 3 4; 4 5 6];
plot(data);
hold on
ax = gca;
ax.ColorOrderIndex = 1;
plot(3*data);
hold off

Смотрите также