Постройте одну или несколько заполненных многоугольных областей
patch(
графики одна или несколько заполненных многоугольных областей с помощью элементов X
,Y
,C
)X
и Y
как координаты для каждой вершины. patch
соединяет вершины в порядке, что вы задаете их. Чтобы создать один многоугольник, задайте X
и Y
как векторы. Чтобы создать несколько многоугольников, задайте X
и Y
как матрицы, где каждый столбец соответствует многоугольнику. C
определяет цвета многоугольника.
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
как матрицы 2D столбца. Каждый столбец задает координаты для одного из многоугольников. patch
добавляют многоугольники к текущей системе координат, не очищая оси.
x2 = [2 5; 2 5; 8 8];
y2 = [4 0; 8 2; 4 0];
patch(x2,y2,'green')
Создайте один многоугольник путем определения координат каждой уникальной вершины и матрицы, которая задает, как соединить их. Затем добавьте еще два многоугольника в фигуру.
Создайте красный квадрат с углами в (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
как матрица 2D строки. Каждая строка задает поверхность для одной закрашенной фигуры.
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- для вершин, заданных в одной из следующих форм:
Вектор — Создает один многоугольник.
Матрица — создает n
многоугольники с m
вершины каждый, где [m,n] = size(X)
. Каждый столбец в матрице соответствует одному многоугольнику.
Если данные не задают закрытые многоугольники, то patch
закрывает многоугольники. Если ребра отдельного многоугольника пересекают себя, получившиеся многоугольники могут быть частично заполнены. В этом случае лучше разделить объект закрашенной фигуры на меньшие многоугольники.
Когда вы задаете X
, patch
функционируйте устанавливает XData
свойство для закрашенной фигуры возражает против того же значения. Объект закрашенной фигуры автоматически вычисляет поверхность и данные о вершине и устанавливает Faces
и Vertices
свойства к соответствующим значениям.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Y
— y - координирует для вершинy- для вершин, заданных в одной из следующих форм:
Вектор — Создает один многоугольник.
Матрица — создает n
многоугольники с m
вершины каждый, где [m,n] = size(Y)
. Каждый столбец в матрице соответствует одному многоугольнику.
Если данные не задают закрытые многоугольники, то patch
закрывает многоугольники. Если ребра отдельного многоугольника пересекают себя, получившиеся многоугольники могут быть частично заполнены. В этом случае лучше разделить объект закрашенной фигуры на меньшие многоугольники.
Когда вы задаете Y
, patch
функционируйте устанавливает YData
свойство для закрашенной фигуры возражает против того же значения. Объект закрашенной фигуры автоматически вычисляет поверхность и данные о вершине и устанавливает Faces
и Vertices
свойства к соответствующим значениям.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Z
— z - координирует для вершинz- для вершин, заданных в одной из следующих форм:
Вектор — Создает один многоугольник.
Матрица — создает m
многоугольники с n
вершины каждый, где [m,n] = size(Z)
. Каждый столбец в матрице соответствует одному многоугольнику.
Когда вы задаете Z
, patch
функционируйте устанавливает ZData
свойство для закрашенной фигуры возражает против того же значения. Объект закрашенной фигуры автоматически вычисляет поверхность и данные о вершине и устанавливает Faces
и Vertices
свойства к соответствующим значениям.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
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
— Вершины многоугольникаВершины многоугольника, заданные в одной из следующих форм:
Матрица 2D столбца — Каждая строка содержит (x, y) координаты для вершины.
Матрица с тремя столбцами — Каждая строка содержит (x, y, Z) координаты для вершины.
Задайте только уникальные вершины. Можно обратиться к вершине несколько раз при определении определений поверхности в F
.
Когда вы задаете V
, patch
функционируйте устанавливает Vertices
свойство для закрашенной фигуры возражает против того же значения. Объект закрашенной фигуры автоматически вычисляет координатные данные и устанавливает XData
, YData
, и ZData
к соответствующим значениям.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
F
— Столкнитесь с определениямиСтолкнитесь с определениями, заданными в одной из следующих форм:
Вектор-строка — Создает один многоугольник.
Матрица — Создает несколько многоугольников, где каждая строка соответствует многоугольнику.
Например, этот код задает три вершины в 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
Объект осейОбъект осей. Если вы не задаете объект осей, то patch
использует текущую систему координат.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
patch(x,y,c,'FaceAlpha',.5,'LineStyle',':')
создает полупрозрачные многоугольники с пунктирными краями.Свойства, перечисленные здесь, являются только подмножеством свойств исправления. Для полного списка смотрите Свойства исправления.
'FaceColor'
'FaceColor'
(значение по умолчанию) | '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'
— Цвета обводки
(значение по умолчанию) | '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
— объект закрашенной фигурыОбъект закрашенной фигуры, возвращенный как скаляр. Каждый объект закрашенной фигуры может состоять из одного или нескольких многоугольников. Используйте p
запросить или изменить свойства объекта закрашенной фигуры после того, как это создается.
Указания и ограничения по применению:
Эта функция принимает массивы графического процессора, но не работает на графическом процессоре.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Указания и ограничения по применению:
Эта функция работает с распределенными массивами, но выполняет в клиенте MATLAB.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.