Объемная поверхностная диаграмма
surf( создает трехмерную объемную поверхностную диаграмму, представляющий собой трехмерную поверхность, которая имеет сплошные цвета ребер и сплошные цвета граней. А графики функций значения в матрице X,Y,Z)Z как высоты над сеткой в плоскости x - y заданные X и Y. Цвет поверхности изменяется в зависимости от высот, заданных Z.
surf( создает объемную поверхностную диаграмму и использует индексы столбцов и строк элементов в Z)Z как x - и y - координаты.
surf( графики в осях заданные ax,___)ax вместо текущей системы координат. Задайте оси в качестве первого входного параметра.
surf(___, задает свойства поверхности, используя один или несколько аргументы пары "имя-значение". Для примера, Name,Value)'FaceAlpha',0.5 создает полупрозрачную поверхность.
s = surf(___) возвращает объект поверхности графика. Использование s для изменения поверхности после ее создания. Список свойств см. в разделе «Свойства поверхности».
Создайте три матрицы одинакового размера. Затем постройте график как поверхность. В объемную поверхностную диаграмму используются Z для высоты и цвета.
[X,Y] = meshgrid(1:0.5:10,1:20); Z = sin(X) + cos(Y); surf(X,Y,Z)

Задайте цвета для объемной поверхностной диаграммы, включив четвертый матричный вход, C. В объемную поверхностную диаграмму используются Z для высоты и C для цвета. Задайте цвета с помощью палитры, которая использует одинарные числа для подставки цветов на спектре. Когда вы используете палитру, C - тот же размер, что и Z. Добавьте цветовую панель к графику, чтобы показать, как значения данных в C соответствуют цветам в палитре.
[X,Y] = meshgrid(1:0.5:10,1:20); Z = sin(X) + cos(Y); C = X.*Y; surf(X,Y,Z,C) colorbar

Задайте цвета для объемной поверхностной диаграммы, включив четвертый матричный вход, CO. В объемную поверхностную диаграмму используются Z для высоты и CO для цвета. Укажите цвета с помощью truecolor, который использует триплеты чисел, чтобы стоять для всех возможных цветов. Когда вы используете truecolor, если Z является m-by- n, затем CO является m-by- n-by-3. Первая страница массива обозначает красный компонент для каждого цвета, вторая страница обозначает зеленый компонент, а третья страница обозначает синий компонент.
[X,Y,Z] = peaks(25); CO(:,:,1) = zeros(25); % red CO(:,:,2) = ones(25).*linspace(0.5,0.6,25); % green CO(:,:,3) = ones(25).*linspace(0,1,25); % blue surf(X,Y,Z,CO)

Создайте полупрозрачную поверхность путем определения FaceAlpha Пара "имя-значение" с 0.5 как значение. Чтобы разрешить дальнейшие изменения, присвойте объект поверхности переменной s.
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = surf(X,Y,Z,'FaceAlpha',0.5)
s =
Surface with properties:
EdgeColor: [0 0 0]
LineStyle: '-'
FaceColor: 'flat'
FaceLighting: 'flat'
FaceAlpha: 0.5000
XData: [21x21 double]
YData: [21x21 double]
ZData: [21x21 double]
CData: [21x21 double]
Show all properties
Использование s для доступа и изменения свойств объекта поверхности после создания. Например, скрыть ребра можно путем установки EdgeColor свойство.
s.EdgeColor = 'none';
X - x -координатыx -cordinates, заданная в виде матрицы того же размера, что и Z, или как вектор с длиной n, где [m,n] = size(Z). Если вы не задаете значения для X и Y, surf использует векторы (1:n) и (1:m).
Вы можете использовать meshgrid функция для создания X и Y матрицы.
The XData свойство Surface объект сохраняет x -cordinates.
Пример: X = 1:10
Пример: X = [1 2 3; 1 2 3; 1 2 3]
Пример: [X,Y] = meshgrid(-5:0.5:5)
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
Y - y -координатыy -cordinates, заданная в виде матрицы того же размера, что и Z или как вектор с длиной m, где [m,n] = size(Z). Если вы не задаете значения для X и Y, surf использует векторы (1:n) и (1:m).
Вы можете использовать meshgrid функция для создания X и Y матрицы.
The YData свойство объекта surface сохраняет y -cordinates.
Пример: Y = 1:10
Пример: Y = [1 1 1; 2 2 2; 3 3 3]
Пример: [X,Y] = meshgrid(-5:0.5:5)
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
Z - z -координатыz -координаты, заданные как матрица. Z должно иметь не менее двух строк и двух столбцов.
Z задает высоту объемной поверхностной диаграммы в каждом x - y координате. Если вы не задаете цвета, то Z также задает цвета поверхности.
The ZData свойство объекта surface сохраняет z -cordinates.
Пример: Z = [1 2 3; 4 5 6]
Пример: Z = sin(x) + cos(y)
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
C - Цветовой массивm-by- n-by- 3 массив триплетов RGBЦветовой массив, заданный как m-by- n матрица индексов палитры или как m-by- n-by- 3 массив триплетов RGB, где Z является m-by- n.
Чтобы использовать цвета палитры, задайте C как матрица. Для каждой точки сетки на поверхности, C указывает цвет в палитре. The CDataMapping свойство объекта поверхности управляет тем, как значения в C соответствуют цветам в палитре.
Чтобы использовать цвета truecolor, задайте C как массив триплетов RGB.
Для получения дополнительной информации смотрите Различия между Палитрами и Труеколором.
The CData свойство объекта surface сохраняет цветовой массив. Для дополнительного контроля окрашивания поверхности используйте FaceColor и EdgeColor свойства.
ax - Ось для построения графикаГрафическое изображение осей, заданное как axes объект. Если вы не задаете оси, то surf графики в текущей системе координат.
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
surf(X,Y,Z,'FaceAlpha',0.5,'EdgeColor','none') создает полупрозрачную поверхность без нарисованных ребер.Примечание
Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойств поверхности».
'EdgeColor' - Цвет краевой линии[0 0 0]
(по умолчанию) | 'none' | 'flat' | 'interp' | триплет RGB | шестнадцатеричный цветовой код | 'r' | 'g' | 'b' | ...Цвет ребра, заданный как одно из значений, перечисленных здесь. Цвет по умолчанию [0 0 0] соответствует чёрным ребрам.
| Значение | Описание |
|---|---|
'none' | Не рисуйте ребер. |
'flat' | Используйте другой цвет для каждого ребра на основе значений в
|
'interp' |
Используйте интерполированную раскраску для каждого ребра на основе значений в
|
| Триплет RGB, шестнадцатеричный цветовой код или название цвета |
Используйте указанный цвет для всех ребер. Эта опция не использует значения цветов в
|
Триплеты 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' | Нет линии | Нет линии |
'FaceColor' - Цвет лица'flat' (по умолчанию) | 'interp' | 'none' | 'texturemap' | триплет RGB | шестнадцатеричный цветовой код | 'r' | 'g' | 'b' | ...Цвет грани, заданный как одно из значений в этой таблице.
| Значение | Описание |
|---|---|
'flat' | Используйте другой цвет для каждой грани на основе значений в
|
'interp' |
Используйте интерполированную раскраску для каждой грани на основе значений в
|
| Триплет RGB, шестнадцатеричный цветовой код или название цвета |
Используйте указанный цвет для всех граней. Эта опция не использует значения цветов в
|
'texturemap' | Преобразуйте данные о цвете в CData так, чтобы он соответствовал поверхности. |
'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' |
|
'FaceAlpha' - Прозрачность лица[0,1] | 'flat' | 'interp' | 'texturemap'Прозрачность лица, заданная в качестве одного из следующих значений:
Скаляр в области значений [0,1] - Используйте равномерную прозрачность по всем граням. Значение 1 полностью непрозрачен и 0 полностью прозрачен. Значения между 0 и 1 являются полупрозрачными. Эта опция не использует значения прозрачности в AlphaData свойство.
'flat' - Используйте разную прозрачность для каждой грани на основе значений в AlphaData свойство. Значение прозрачности в первой вершине определяет прозрачность для всей грани. Сначала необходимо задать AlphaData свойство как матрица того же размера, что и ZData свойство. The FaceColor свойство также должно быть установлено в 'flat'.
'interp' - Используйте интерполированную прозрачность для каждой грани на основе значений в AlphaData свойство. Прозрачность изменяется между каждой гранью путем интерполяции значений в вершинах. Сначала необходимо задать AlphaData свойство как матрица того же размера, что и ZData свойство. The FaceColor свойство также должно быть установлено в 'interp'.
'texturemap' - Преобразуйте данные в AlphaData так, чтобы он соответствовал поверхности.
'FaceLighting' - Эффект световых объектов на гранях'flat' (по умолчанию) | 'gouraud' | 'none'Эффект световых объектов на гранях, заданный как одно из следующих значений:
'flat' - Нанесите свет равномерно на каждую грань. Используйте это значение для просмотра граненых объектов.
'gouraud' - Варьируйте свет по граням. Вычислите свет в вершинах и затем линейно интерполируйте свет через грани. Используйте это значение для просмотра изогнутых поверхностей.
'none' - Не наносить на грани свет от световых объектов.
Чтобы добавить светлый объект к осям, используйте light функция.
Примечание
The 'phong' значение удалено. Использование 'gouraud' вместо этого.
Указания и ограничения по применению:
Эта функция принимает массивы GPU, но не запускается на графическом процессоре.
Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
Указания и ограничения по применению:
Эта функция работает с распределенными массивами, но выполняется в клиентском MATLAB.
Для получения дополнительной информации смотрите Запуск функций MATLAB с распределенными массивами (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.