Печать одной или нескольких заполненных полигональных областей
patch( выводит на график одну или несколько заполненных полигональных областей с использованием элементов X,Y,C)X и Y в качестве координат для каждой вершины. patch соединяет вершины в указанном порядке. Чтобы создать один полигон, укажите X и Y в качестве векторов. Для создания нескольких полигонов укажите X и Y как матрицы, где каждый столбец соответствует многоугольнику. C определяет цвета полигонов.
patch('XData', аналогичен X,'YData',Y,'ZData',Z)patch(X,Y,Z,C), за исключением того, что нет необходимости указывать цветовые данные для 3-D координат.
Примечание
При указании данных с помощью 'XData', 'YData', или 'ZData' аргументы «имя-значение», данные должны иметь числовой тип, например double, singleили целочисленный тип. Определить categorical, datetime, или duration данные, используйте x, y, и z аргументы.
patch('Faces', создает один или несколько полигонов, где F,'Vertices',V)V задает значения вершин и F определяет, какие вершины следует соединить. Указание только уникальных вершин и их матрицы соединения может уменьшить размер данных при наличии большого количества многоугольников. Укажите одну вершину на строку в V. Чтобы создать один полигон, укажите F как вектор. Для создания нескольких полигонов укажите F в виде матрицы с одной строкой на многоугольник. Каждая грань не должна иметь одинаковое количество вершин. Чтобы задать разное количество вершин, введите F с NaN значения.
patch(___, создает многоугольники и задает одно или несколько свойств исправления с помощью аргументов пары имя-значение. Фрагмент - это объект, содержащий данные для всех созданных полигонов. Свойства исправления можно задать с помощью любой комбинации входных аргументов в предыдущих синтаксисах. Например, Name,Value)'LineWidth',2 устанавливает ширину контура для всех многоугольников равной 2 точкам.
patch( создает сегмент в осях, указанных ax,___)ax вместо в текущих осях (gca). Выбор ax может предшествовать любой из комбинаций входных аргументов в предыдущих синтаксисах.
возвращает объект-фрагмент, содержащий данные для всех полигонов. Использовать p = patch(___)p для запроса и изменения свойств объекта исправления после его создания. Список свойств и описаний см. в разделе Свойства исправления.
Создайте один многоугольник, указав координаты (x, y) каждой вершины. Затем добавьте к фигуре еще два многоугольника.
Создание красного квадрата с вершинами в (0,0), (1,0), (1,1), и (0,1). Определить x как координаты x вершин и y в качестве координат y. patch автоматически соединяет последнюю (x, y) координату с первой (x, y) координатой.
x = [0 1 1 0];
y = [0 0 1 1];
patch(x,y,'red')
Создание двух многоугольников путем задания x и y в виде двухколонных матриц. Каждый столбец определяет координаты одного из полигонов. patch добавляет многоугольники к текущим осям без очистки осей.
x2 = [2 5; 2 5; 8 8];
y2 = [4 0; 8 2; 4 0];
patch(x2,y2,'green')
Определить X как вектор категориальных значений и определить Y как вектор значений длительности. patch функция использует отсортированный список категорий, поэтому ось X может отображать их в порядке, отличном от ожидаемого. Чтобы указать заказ, вызовите reordercats функция. Затем создайте красный патч для визуализации данных.
X = categorical({'Freezing','Cold','Warm','Hot','Boiling','Boiling','Freezing'});
X = reordercats(X,{'Freezing','Cold','Warm','Hot','Boiling'});
Y = minutes([0 15 20 47 50 0 0]);
patch(X,Y,'red')
Создайте один многоугольник, указав координаты каждой уникальной вершины и матрицу, определяющую способ их соединения. Затем добавьте к фигуре еще два многоугольника.
Создание красного квадрата с углами в (0,0), (1,0), (1,1), и (0,1). Определить v так что каждая строка определяет координаты (x, y) для одной вершины. Затем укажитеf в качестве вершин для соединения. Задайте цвет, указав FaceColor собственность.
v = [0 0; 1 0; 1 1; 0 1]; f = [1 2 3 4]; patch('Faces',f,'Vertices',v,'FaceColor','red')

Создание двух многоугольников путем задания f в виде двухстрочной матрицы. Каждая строка определяет грань для одного фрагмента.
v2 = [2 4; 2 8; 8 4; 5 0; 5 2; 8 0];
f2 = [1 2 3;
4 5 6];
patch('Faces',f2,'Vertices',v2,'FaceColor','green')
Создайте два полигона и используйте разные цвета для каждой грани полигона. Используйте панель цветов, чтобы показать, как цвета отображаются в карте цветов.
Создание многоугольников с помощью матриц x и y. Определить c в виде вектора-столбца с двумя элементами, поскольку существуют две многоугольные грани, и добавить цветовую шкалу.
x = [2 5; 2 5; 8 8]; y = [4 0; 8 2; 4 0]; c = [0; 1]; figure patch(x,y,c) colorbar

Также можно получить тот же результат при использовании f и v вместо этого. При создании полигонов задайте FaceVertexCData к вектору-столбцу с двумя элементами, поскольку существуют две многоугольные грани. Набор FaceColor кому 'flat'.
v = [2 4; 2 8; 8 4; 5 0; 5 2; 8 0]; f = [1 2 3; 4 5 6]; col = [0; 1]; figure patch('Faces',f,'Vertices',v,'FaceVertexCData',col,'FaceColor','flat'); colorbar

Интерполяция цветов по граням многоугольника путем задания цвета в каждой вершине многоугольника и использование панели цветов для отображения цветов в карту цветов.
Создание многоугольников с помощью матриц x и y. Определить c в виде матрицы того же размера, что и x и y определение одного цвета для каждой вершины и добавление полосы цветов.
x = [2 5; 2 5; 8 8]; y = [4 0; 8 2; 4 0]; c = [0 3; 6 4; 4 6]; figure patch(x,y,c) colorbar

Также можно получить тот же результат, используя f и v вместо этого. При создании полигонов задайте FaceVertexCData к вектору-столбцу с одним значением на вершину и FaceColor кому 'interp'.
v = [2 4; 2 8; 8 4; 5 0; 5 2; 8 0]; f = [1 2 3; 4 5 6]; col = [0; 6; 4; 3; 4; 6]; figure patch('Faces',f,'Vertices',v,'FaceVertexCData',col,'FaceColor','interp'); colorbar

Создайте многоугольник с зелеными кромками и не отображайте грань. Затем создайте второй многоугольник с различным цветом для каждого ребра.
v = [0 0; 1 0; 1 1]; f = [1 2 3]; figure patch('Faces',f,'Vertices',v,... 'EdgeColor','green','FaceColor','none','LineWidth',2);

Использование различных цветов для каждого ребра путем задания цвета для каждой вершины и настройки EdgeColor кому 'flat'.
v = [2 0; 3 0; 3 1]; f = [1 2 3]; c = [1 0 0; % red 0 1 0; % green 0 0 1]; % blue patch('Faces',f,'Vertices',v,'FaceVertexCData',c,... 'EdgeColor','flat','FaceColor','none','LineWidth',2);

Используйте структуру для создания двух многоугольников. Сначала создайте структуру с именами полей, которые соответствуют именам свойств патча. Затем используйте структуру для создания полигонов.
clear S S.Vertices = [2 4; 2 8; 8 4; 5 0; 5 2; 8 0]; S.Faces = [1 2 3; 4 5 6]; S.FaceVertexCData = [0; 1]; S.FaceColor = 'flat'; S.EdgeColor = 'red'; S.LineWidth = 2; figure patch(S)

Создайте два полупрозрачных многоугольника, установив FaceAlpha свойство к значению между 0 и 1.
v1 = [2 4; 2 8; 8 4]; f1 = [1 2 3]; figure patch('Faces',f1,'Vertices',v1,'FaceColor','red','FaceAlpha',.3); v2 = [2 4; 2 8; 8 8]; f2 = [1 2 3]; patch('Faces',f2,'Vertices',v2,'FaceColor','blue','FaceAlpha',.5);

Создайте разноцветную линию с маркерами в каждой вершине. Выполните интерполяцию цветов и используйте панель цветов, чтобы показать, как значения сопоставляются с картой цветов.
Создайте данные. Установить последнюю запись y кому NaN чтобы patch создает линию вместо замкнутого многоугольника. Определите цвет для каждой вершины с помощью команды y значения. Значения в c сопоставить с цветами в карте цветов.
x = linspace(1,10,15); y = sin(x); y(end) = NaN; c = y;
Создайте линию. Показать маркеры в каждой вершине и установить EdgeColor кому 'interp' для интерполяции цветов между вершинами. Добавьте панель цветов.
figure patch(x,y,c,'EdgeColor','interp','Marker','o','MarkerFaceColor','flat'); colorbar;

X - координаты X для вершинx-координаты вершин, указанные в одной из следующих форм:
Вектор (Vector) - создание одного многоугольника.
Матрица - Создать n многоугольники с m вершины каждая, где [m,n] = size(X). Каждый столбец матрицы соответствует одному многоугольнику.
Если данные не определяют замкнутые многоугольники, то patch закрывает многоугольники. Если кромки отдельного многоугольника пересекаются сами собой, полученные многоугольники могут быть частично заполнены. В этом случае лучше разделить объект-сегмент на меньшие многоугольники.
При указании X, patch функция устанавливает XData для объекта исправления с таким же значением. Объект-фрагмент автоматически вычисляет данные грани и вершины и задает Faces и Vertices к соответствующим значениям.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
Y - координаты y для вершинкоординаты y для вершин, указанные в одной из следующих форм:
Вектор (Vector) - создание одного многоугольника.
Матрица - Создать n многоугольники с m вершины каждая, где [m,n] = size(Y). Каждый столбец матрицы соответствует одному многоугольнику.
Если данные не определяют замкнутые многоугольники, то patch закрывает многоугольники. Если кромки отдельного многоугольника пересекаются сами собой, полученные многоугольники могут быть частично заполнены. В этом случае лучше разделить объект-сегмент на меньшие многоугольники.
При указании Y, patch функция устанавливает YData для объекта исправления с таким же значением. Объект-фрагмент автоматически вычисляет данные грани и вершины и задает Faces и Vertices к соответствующим значениям.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
Z - z-координаты для вершинz-координаты вершин, указанные в одной из следующих форм:
Вектор (Vector) - создание одного многоугольника.
Матрица - Создать m многоугольники с n вершины каждая, где [m,n] = size(Z). Каждый столбец матрицы соответствует одному многоугольнику.
При указании Z, patch функция устанавливает ZData для объекта исправления с таким же значением. Объект-фрагмент автоматически вычисляет данные грани и вершины и задает Faces и Vertices к соответствующим значениям.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
C - Цвета полигонов'r' | 'g' | 'b' | ...Многоугольные цвета, заданные как скаляр, вектор, матрица или имя цвета. Формат ввода определяет, имеют ли все многоугольники одинаковый цвет, один цвет на грань или интерполированные цвета граней.
| Желаемый эффект | Использовать один из этих форматов | Результаты |
|---|---|---|
| Один цвет для всех граней |
Пример см. в разделе Указание координат. |
|
| Один цвет на грань |
Пример см. в разделе Различные цвета граней полигонов. |
|
| Интерполированные цвета граней |
Пример см. в разделе Интерполированные цвета граней полигонов. |
|
Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны находиться в диапазоне [0,1]; например, [0.4 0.6 0.7]. Можно также задать некоторые общие цвета по имени. В этой таблице перечислены параметры имени длинного и короткого цветов и эквивалентные значения триплета RGB.
| Выбор | Описание | Эквивалентный триплет RGB |
|---|---|---|
'red' или 'r' | Красный | [1 0 0] |
'green' или 'g' | Зеленый | [0 1 0] |
'blue' или 'b' | Синий | [0 0 1] |
'yellow' или 'y' | Желтый | [1 1 0] |
'magenta' или 'm' | Пурпурный | [1 0 1] |
'cyan' или 'c' | Голубой | [0 1 1] |
'white' или 'w' | Белый | [1 1 1] |
'black' или 'k' | Черный | [0 0 0] |
V - Вершины многоугольниковВершины многоугольников, указанные в одной из следующих форм:
Матрица из двух столбцов - каждая строка содержит координаты (x, y) для вершины.
Матрица из трех столбцов - каждая строка содержит координаты (x, y, Z) для вершины.
Укажите только уникальные вершины. При определении определений граней в можно ссылаться на вершину несколько раз. F.
При указании V, patch функция устанавливает Vertices для объекта исправления с таким же значением. Объект-сегмент автоматически вычисляет данные координат и задает XData, YData, и ZData к соответствующим значениям.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
F - Определения гранейОпределения граней, указанные в одной из следующих форм:
Вектор строки - создание одного многоугольника.
Матрица (Matrix) - создание нескольких многоугольников, где каждая строка соответствует многоугольнику.
Например, этот код определяет три вершины в V и создает один многоугольник, соединяя вершину 1 с 2, 2 с 3 и 3 с 1.
V = [1 1; 2 1; 2 2]; F = [1 2 3 1]; patch('Faces',F,'Vertices',V)
При указании F, patch функция устанавливает Faces для объекта исправления с таким же значением. Объект-сегмент автоматически вычисляет данные координат и задает XData, YData, и ZData к соответствующим значениям.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
S - Определение патчаОпределение исправления, указанное как структура с полями, соответствующими именам свойств исправления, и значениями полей, соответствующими значениям свойств исправления.
ax - Объект AxesОбъект Axes. Если объект axes не указан, то patch использует текущие оси.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
patch(x,y,c,'FaceAlpha',.5,'LineStyle',':') создает полупрозрачные многоугольники с пунктирными ребрами.Перечисленные здесь свойства являются только подмножеством свойств исправления. Полный список см. в разделе Свойства исправления.
'FaceColor' - Цвет лица[0 0 0] (по умолчанию) | 'interp' | 'flat' | Триплет RGB | шестнадцатеричный цветовой код | 'r' | 'g' | 'b' | ...Цвет грани, указан как 'interp', 'flat' триплет RGB, шестнадцатеричный цветовой код, имя цвета или короткое имя.
Для создания различных цветов для каждой грани укажите CData или FaceVertexCData свойство как массив, содержащий один цвет на грань или один цвет на вершину. Цвета могут быть интерполированы из цветов окружающих вершин каждой грани, или они могут быть однородными. Для интерполированных цветов задайте это свойство как 'interp'. Для однородных цветов задайте это свойство как 'flat'. При указании 'flat' и другой цвет для каждой вершины, цвет первой указанной вершины определяет цвет грани.
Чтобы назначить один цвет для всех граней, задайте это свойство как триплет RGB, шестнадцатеричный код цвета, имя цвета или короткое имя.
Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны находиться в диапазоне [0,1]; например, [0.4 0.6 0.7].
Шестнадцатеричный цветовой код - это символьный вектор или строковый скаляр, начинающийся с хэш-символа (#), за которыми следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 кому F. Значения не чувствительны к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.
| Имя цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
|---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' |
|
'green' | 'g' | [0 1 0] | '#00FF00' |
|
'blue' | 'b' | [0 0 1] | '#0000FF' |
|
'cyan'
| 'c' | [0 1 1] | '#00FFFF' |
|
'magenta' | 'm' | [1 0 1] | '#FF00FF' |
|
'yellow' | 'y' | [1 1 0] | '#FFFF00' |
|
'black' | 'k' | [0 0 0] | '#000000' |
|
'white' | 'w' | [1 1 1] | '#FFFFFF' |
|
'none' | Неприменимо | Неприменимо | Неприменимо | Без цвета |
Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB ®, используемых на многих типах графиков.
| Триплет 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' |
|
'FaceAlpha' - Прозрачность лица[0,1] | 'flat' | 'interp'Прозрачность грани, заданная как одно из следующих значений:
Скаляр в диапазоне [0,1] - использовать равномерную прозрачность для всех граней. Значение 1 является полностью непрозрачным и 0 является полностью прозрачным. Этот параметр не использует значения прозрачности в FaceVertexAlphaData собственность.
'flat' - Использовать различную прозрачность для каждой грани на основе значений в FaceVertexAlphaData собственность. Сначала необходимо указать FaceVertexAlphaData свойство как вектор, содержащий одно значение прозрачности на грань или вершину. Значение прозрачности в первой вершине определяет прозрачность для всей грани.
'interp' - использовать интерполированную прозрачность для каждой грани на основе значений в FaceVertexAlphaData собственность. Сначала необходимо указать FaceVertexAlphaData свойство как вектор, содержащий одно значение прозрачности на вершину. Прозрачность изменяется для каждой грани путем интерполяции значений в вершинах.
'EdgeColor' - Краевые цвета[0 0 0] (по умолчанию) | 'none' | 'flat' | 'interp' | Триплет RGB | шестнадцатеричный цветовой код | 'r' | 'g' | 'b' | ...Цвета кромок, указанные как одно из значений в этой таблице. Цвет кромки по умолчанию - черный со значением [0 0 0]. Если несколько полигонов совместно используют одну и ту же кромку, то первый нарисованный полигон управляет отображаемым цветом кромки.
| Стоимость | Описание | Результат |
|---|---|---|
Триплет RGB, шестнадцатеричный код цвета или имя цвета | Один цвет для всех ребер. Дополнительные сведения см. в следующей таблице. |
|
'flat' | Разные цвета для каждого ребра. Используйте цвета вершин, чтобы задать цвет ребра, которое следует за ним. Сначала необходимо указать |
|
'interp' | Интерполированный цвет кромки. Сначала необходимо указать |
|
'none' | Кромки не отображаются. | Кромки не отображаются. |
Триплеты RGB и шестнадцатеричные цветовые коды полезны для задания пользовательских цветов.
Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны находиться в диапазоне [0,1]; например, [0.4 0.6 0.7].
Шестнадцатеричный цветовой код - это символьный вектор или строковый скаляр, начинающийся с хэш-символа (#), за которыми следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 кому F. Значения не чувствительны к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.
Можно также задать некоторые общие цвета по имени. В этой таблице перечислены параметры именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
| Имя цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
|---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' |
|
'green' | 'g' | [0 1 0] | '#00FF00' |
|
'blue' | 'b' | [0 0 1] | '#0000FF' |
|
'cyan' | 'c' | [0 1 1] | '#00FFFF' |
|
'magenta' | 'm' | [1 0 1] | '#FF00FF' |
|
'yellow' | 'y' | [1 1 0] | '#FFFF00' |
|
'black' | 'k' | [0 0 0] | '#000000' |
|
'white' | 'w' | [1 1 1] | '#FFFFFF' |
|
Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB, используемых на многих типах графиков.
| Триплет 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' |
|
'LineStyle' - Стиль линии'-' (по умолчанию) | '--' | ':' | '-.' | 'none'Стиль линии, указанный в качестве одного из параметров, перечисленных в этой таблице.
| Стиль линии | Описание | Результирующая линия |
|---|---|---|
'-' | Сплошная линия |
|
'--' | Пунктирная линия |
|
':' | Пунктирная линия |
|
'-.' | Пунктирная линия |
|
'none' | Без строки | Без строки |
p - объект исправленияОбъект Patch, возвращаемый как скаляр. Каждый объект сегмента может состоять из одного или нескольких многоугольников. Использовать p для запроса или изменения свойств объекта исправления после его создания.
Примечания и ограничения по использованию:
Эта функция принимает массивы GPU, но не выполняется на GPU.
Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Примечания и ограничения по использованию:
Эта функция работает на распределенных массивах, но выполняется в клиенте MATLAB.
Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.