colororder

Установите порядок цветов для визуализации нескольких рядов данных

Описание

пример

colororder(newcolors) устанавливает порядок цветов для текущей фигуры. Если фигура не существует, MATLAB® создает фигуру и устанавливает порядок цветов для той фигуры. Когда вы устанавливаете порядок цветов для фигуры, вы устанавливаете порядок цветов для всех осей в той фигуре.

пример

colororder(target,newcolors) устанавливает порядок цветов для целевых осей, фигуры или графика вместо текущей фигуры.

C = colororder возвращает матрицу последовательности цветов для текущей фигуры.

пример

C = colororder(target) возвращает матрицу последовательности цветов для планового показателя, осей или графика.

Примеры

свернуть все

Установите порядок цветов для фигуры к четырем цветам. Задайте вектор x-координаты и четыре вектора y-координаты. Затем постройте каждый набор координат.

newcolors = [0.83 0.14 0.14
             1.00 0.54 0.00
             0.47 0.25 0.80
             0.25 0.80 0.54];
         
colororder(newcolors)

% Define coordinates
x = linspace(0,10);
y1 = sin(x);
y2 = sin(x-0.5);
y3 = sin(x-1);
y4 = sin(x-1.5);

% Plot coordinates
plot(x,y1,'LineWidth',2)
hold on
plot(x,y2,'LineWidth',2)
plot(x,y3,'LineWidth',2)
plot(x,y4,'LineWidth',2)
hold off

Постройте семь концентрических кругов четверти.

hold on
for r=1:7
    x = linspace(0,r,500);
    y = sqrt(r.^2-x.^2);
    plot(x,y,'LineWidth',15)
end

Измените последовательность цветов в семь шестнадцатеричных цветовых кодов.

newcolors = {'#F00','#F80','#FF0','#0B0','#00F','#50F','#A0F'};
colororder(newcolors)

Отобразите три серии панелей. Затем установите порядок цветов к синему, фиолетовому цвету, и серый.

bar([10 20 30; 25 35 45; 30 40 52])
newcolors = [0 0.5 1; 0.5 0 1; 0.7 0.7 0.7];
colororder(newcolors)

Устанавливание порядка цветов для фигуры прежде, чем вызвать yyaxis выбирает цвет для каждой оси Y. Левая сторона использует первый цвет, и правая сторона использует второй цвет. Если вы задаете больше чем два цвета, дополнительные цвета не используются ни одной стороной.

Задайте newcolors как матрица, содержащая два триплета RGB. Установите порядок цветов для фигуры и постройте два графика против левой стороны. Затем постройте два графика против правой стороны.

newcolors = [0.40 0.30 0.90; 0.50 0.65 0.15];
colororder(newcolors)

% Left side
yyaxis left
plot([1 2; 3 4])

% Right side
yyaxis right
plot([4 3; 2 1])

Устанавливание порядка цветов для фигуры после вызова yyaxis выбирает цвет для активной стороны.

Активируйте левую ось Y и постройте три графика. Установите порядок стиля линии к одной сплошной линии и измените цвет оси Y в синий. Затем установите порядок цветов к трем оттенкам синего цвета.

% Left side
yyaxis left
plot([1 2 3; 4 5 6])
ax = gca;
ax.LineStyleOrder = '-';
ax.YColor = 'blue';
leftcolors = [0 0 1; 0 0.50 1; 0 0.80 1];
colororder(leftcolors)

Активируйте правую ось y и постройте два графика. Измените цвет оси Y в черный цвет. Затем установите порядок цветов к черному цвету.

% Right side
yyaxis right
plot([4 3; 2 1])
ax.YColor = 'black';
colororder('black')

Когда вы вызываете функцию построения графика с цветным аргументом, использование функции построения графика, которое окрашивает вместо следующего, раскрашивает последовательность цветов.

Установите порядок цветов фигуры к красному, пурпурному цвету, и синий. Вызовите scatter функционируйте, чтобы построить серию рассеянных точек. Затем постройте вторую серию точек и задайте маркеры как черные звездочки.

newcolors = {'red','magenta','blue'};
colororder(newcolors)
scatter(1:10,rand(1,10),'filled')
hold on
scatter(1:10,rand(1,10),'*k')

Постройте третью серию точек, не задавая цвет маркера. Заметьте, что это последовательное использование, третьи раскрашивают последовательность цветов, которая является синей.

scatter(1:10,rand(1,10),'filled')
hold off

Создайте мозаичное размещение графика и постройте три графика в первой мозаике.

tiledlayout('flow')
nexttile
plot([1 2 3; 4 5 6],'LineWidth',2)

Вызовите nexttile функция с возвращаемым аргументом, чтобы получить объект осей для второй мозаики. Постройте три графика во второй мозаике. Затем получите матрицу последовательности цветов для осей и возвратите выходной параметр в C. Изменитесь первые раскрашивают C к фиолетовому, и набор порядок цвета осей к модифицированному C матрица.

ax = nexttile;
plot(ax,[4 5 6; 1 2 3],'LineWidth',2)
C = colororder(ax);
C(1,:) = [0.5 0 1];
colororder(ax,C)

Входные параметры

свернуть все

Новые цвета в виде матрицы триплетов RGB, массива названий цвета или 'default'.

Матрица триплетов RGB

Задайте m-3 матрицу, где каждой строкой является триплет RGB. Триплет RGB является трехэлементным вектором, содержащим интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]. Например, эта матрица задает новые цвета как синие, темно-зеленые, и оранжевые:

newcolors = [1.0 0.0 0.0
             0.0 0.4 0.0
             1.0 0.5 0.0];

Массив названий цвета или шестнадцатеричных цветовых кодов

Задайте любую комбинацию названий цвета, кратких названий или шестнадцатеричных цветовых кодов.

  • Чтобы задать один цвет, установите newcolors к вектору символов или строковому скаляру. Например, newcolors = 'red' задает красный, когда единственные раскрашивают последовательность цветов.

  • Чтобы задать несколько цветов, установите newcolors к массиву ячеек из символьных векторов или массиву строк. Например, newcolors = {'red','green','blue'} задает красный, зеленый, и синий как цвета.

Шестнадцатеричный цветовой код запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Эта таблица приводит краткие названия и названия цвета и эквивалентные шестнадцатеричные цветовые коды.

Название цветаКраткое названиеШестнадцатеричный цветовой кодВнешний вид
'red''r''#FF0000'

'green''g''#00FF00'

'blue''b''#0000FF'

'cyan' 'c''#00FFFF'

'magenta''m''#FF00FF'

'yellow''y''#FFFF00'

'black''k''#000000'

'white''w''#FFFFFF'

Цвета по умолчанию

Задайте 'default' устанавливать порядок цветов к этим семи цветам по умолчанию. Эта опция полезна для сброса последовательности цветов после того, как вы временно измените его. Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Типы данных: single | double | char | cell | string

Цель в виде одного из этих значений:

  • Фигура. Новые цвета влияют на содержимое всех осей на рисунке.

  • Любой тип объекта осей: Axespolaraxes, или GeographicAxes объект. Новые цвета влияют на содержимое заданных осей только.

  • Автономная визуализация, созданная с scatterhistogram, parallelplot, или geobubble функция.

Больше о

свернуть все

ColorOrder

Последовательность цветов управляет набором цветов, которые MATLAB использует для графического вывода нескольких рядов данных в оси. Графические объекты, такие как Lineрассеяние, и Bar объекты присвоены цвета согласно их порядку создания.

Цвета хранятся как матрица в ColorOrder свойство осей. Вызов colororder функционируйте заменяет матрицу.

Советы

  • Когда вы устанавливаете порядок цветов для фигуры, цвета сохраняются, когда вы вызываете функцию построения графика. Однако, если вы передаете объект осей colororder функция, необходимо сначала вызвать hold on заставить цвета сохраниться, когда вы вызываете функцию построения графика.

  • Если вы устанавливаете ColorOrderIndex или LineStyleOrderIndex свойство на осях, новая последовательность цветов не влияет на существующие графики. Новые цвета вступают в силу только после того, как вы вызовете hold on и затем вызовите функцию построения графика.

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

Функции

Свойства

Введенный в R2019b