pcolor

График псевдоцвета

Описание

пример

pcolor(C) создает график псевдоцвета с помощью значений в матричном C. Псевдоцвет отображает матричные данные об отображениях на графике как массив цветных ячеек (известный как faces). MATLAB® создает этот график как плоскую поверхность в x-y плоскость. Поверхность задана сеткой x - и y - координаты, которые соответствуют углам (или вершины) поверхностей. Сетка покрывает область X=1:n и Y=1:m, где [m,n] = size(C). Матричный C задает цвета в вершинах. Цвет каждой поверхности зависит от цвета в одной из его четырех окружающих вершин. Из этих четырех вершин та, которая на первом месте в x-y сетка, определяет цвет поверхности.

пример

pcolor(X,Y,C) задает x - и y - координирует для вершин. Размер C должен совпадать с размером x-y координатная сетка. Например, если X и Y задайте m-by-n сетка, затем C должен быть m-by-n матрица.

пример

pcolor(ax,___) задает целевые оси для графика. Задайте ax в качестве первого аргумента в любом из предыдущих синтаксисов.

пример

s = pcolor(___) возвращает Surface объект. Используйте s установить свойства на графике после создания его. Для списка свойств смотрите Surface Properties.

Примеры

свернуть все

Создайте координатные векторы X и Y и палитра под названием mymap содержа пять цветов: красный, зеленый, синий, желтый, и черный.

X = [1 2 3; 1 2 3; 1 2 3];
Y = X';
mymap = [1 0 0; 0 1 0; 0 0 1; 1 1 0; 0 0 0];

Создайте матричный C это сопоставляет цвета палитры с этими девятью вершинами. Четыре из этих девяти вершин определяют цвета поверхностей. Задайте цвета в тех вершинах, чтобы сделать поверхности красными (1), зеленый (2), синий (3), и желтый (4), соответственно. Выберите цвета в других вершинах к черному цвету (5).

C = [3 4 5; 1 2 5; 5 5 5];

Постройте поверхности и вызовите colormap функционируйте, чтобы заменить палитру по умолчанию на mymap.

pcolor(X,Y,C)
colormap(mymap)

Матрица Адамара имеет элементы, которые являются любой 1 или -1. Хороший способ визуализировать эту матрицу с двухцветной палитрой.

Создайте 20 20 матрица Адамара. Затем постройте матрицу с помощью черно-белой палитры. Используйте axis функционируйте, чтобы инвертировать направление оси Y и установить линии оси на равные длины.

C = hadamard(20);
pcolor(C)
colormap(gray(2))
axis ij
axis square

Создайте матрицу цветов C. Затем создайте график псевдоцвета C, и сохраните Surface объект в возвращаемом аргументе s.

C = [1 2 3; 4 5 6; 7 8 9];
s = pcolor(C);

Измените цвет рамки путем установки EdgeColor свойство s. Сделайте границу более толстой путем установки LineWidth свойство.

s.EdgeColor = [1 0.7 0.3];
s.LineWidth = 6;

Создайте матрицу цветов C. Затем создайте график псевдоцвета C, и сохраните Surface объект в возвращаемом аргументе s.

C = [5 13 9 7 12; 11 2 14 8 10; 6 1 3 4 15];
s = pcolor(C);

Чтобы интерполировать цвета через поверхности, установите FaceColor propery s к 'interp'.

s.FaceColor = 'interp';

Создайте матрицы X и Y, которые задают расположенную с равными интервалами сетку вершин. Вычислите матричный LY как журнал Y. Затем создайте матричный C содержа переменные пары строк цветных индексов.

[X,Y] = meshgrid(1:20);
LY = log(Y);
colorscale = [1:20; 20:-1:1];
C = repmat(colorscale,10,1);

Постройте X и LY, использование цветов задано в C. Затем настройте метки в виде галочки на оси Y.

s = pcolor(X,LY,C);
tickvals = LY(2:2:20,1)';
set(gca,'YTick',tickvals);

Создайте матрицы X и Y, которые задают расположенную с равными интервалами сетку вершин. Вычислите матрицы XX и YY как функции X и Y. Затем создайте матричный C содержа переменные пары строк цветных индексов.

[X,Y] = meshgrid(-3:6/17:3);
XX = 2*X.*Y;
YY = X.^2 - Y.^2;
colorscale = [1:18; 18:-1:1];
C = repmat(colorscale,9,1);

Постройте XX и YY использование цветов в C.

pcolor(XX,YY,C);

Начиная в R2019b, можно отобразить мозаичное размещение графиков с помощью tiledlayout и nexttile функции. Вызовите tiledlayout функция, чтобы создать 1 2 мозаичное размещение графика. Вызовите nexttile функция, чтобы создать объекты осей ax1 и ax2. Создайте два графика псевдоцвета путем определения осей в качестве первого аргумента к pcolor.

tiledlayout(1,2)

% Left plot
ax1 = nexttile;
C1 = rand(20,10);
pcolor(ax1,C1)

% Right plot
ax2 = nexttile;
C2 = rand(50,10);
pcolor(ax2,C2)

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

свернуть все

Матрица цветов, содержащая индексы в палитру. Значения в C карта раскрашивает массив палитры к вершинам, окружающим каждую поверхность. Цвет поверхности зависит от цвета в одной из его четырех вершин. Из этих четырех вершин, та, которые на первом месте в X и Y определяет цвет поверхности. Если вы не задаете X и Y, MATLAB использует X=1:n и Y=1:m, где [m,n] = size(C). Из-за этого отношения между цветами вершины и цветами поверхности, ни одним из значений в последней строке и столбце C представлены в графике.

Примечание

Первая вершина поверхности является той, которая является самой близкой к верхнему левому углу соответствующей матрицы. Однако, потому что y - ось увеличивается от нижней части до верхней части, первая вершина, показанная в графике, обычно является той в нижнем левом углу поверхности. Чтобы получить эффект, вы хотите, вам придется изменить ориентацию y - ось или ориентация матричного C.

Значения в C масштабируйтесь к полному спектру палитры. Наименьшее значение в C карты к первой строке в массиве палитры. Самое большое значение в C карты к последней строке в массиве палитры. Промежуточные значения в C отобразитесь линейно в промежуточных строках массива палитры. Можно настроить это отображение с помощью caxis функция.

CData свойство Surface объектно-ориентированная память значения C.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

x-, заданные как матрица тот же размер как C, или как вектор длины n, где [m,n] = size(C). Значение по умолчанию X векторный (1:n).

Чтобы создать прямоугольную сетку вершин, задайте X как любое из следующего:

  • Вектор, содержащий значения, которые увеличиваются или уменьшаются.

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

Чтобы создать параметрическую сетку, создайте прямоугольную сетку и передайте его через математическую функцию.

Пример: X = 1:10

Пример: X = [1 2 3; 1 2 3; 1 2 3]

Пример: [X,Y] = meshgrid(1:10)

XData свойство Surface объектно-ориентированная память x - координаты.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

y-, заданные как матрица тот же размер как C, или как вектор длины m, где [m,n] = size(C). Значение по умолчанию Y векторный (1:m).

Чтобы создать прямоугольную сетку вершин, задайте Y как любое из следующего:

  • Вектор, содержащий значения, которые увеличиваются или уменьшаются.

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

Чтобы создать параметрическую сетку, создайте прямоугольную сетку и передайте его через математическую функцию.

Пример: Y = 1:10

Пример: Y = [1 1 1; 2 2 2; 3 3 3]

Пример: [X,Y] = meshgrid(1:10)

YData свойство Surface объектно-ориентированная память y - координаты.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

Целевые оси, заданные как Axes объект. Если вы не задаете оси, то pcolor графики в текущую систему координат.

Алгоритмы

Используйте pcolorизображение, и imagesc функции, чтобы отобразить прямоугольные массивы цветных ячеек. Отношение между матрицей цветов C и цветные ячейки отличаются в каждом случае.

  • pcolor(C) использует значения в C задавать цвета вершины путем масштабирования значений к полному спектру палитры. Размер C определяет количество вершин. Значения в C сопоставьте цвета от текущей палитры до вершин, окружающих каждую ячейку.

  • image(C) использование C задавать цвета ячейки путем отображения значений непосредственно в палитру. Размер C определяет количество ячеек.

  • imagesc(C) использование C задавать цвета ячейки путем масштабирования значений к полному спектру палитры. Размер C определяет количество ячеек.

Расширенные возможности

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте