График контуров под графиком поверхности
surfc( создает трехмерный график поверхности с контурным графиком под ним. График поверхности - это трехмерная поверхность, которая имеет сплошные цвета кромок и сплошные цвета граней. Функция отображает значения в матрице X,Y,Z)Z как высоты над сеткой в плоскости x-y, определяемой X и Y. Цвет поверхности изменяется в соответствии с высотой, указанной Z.
surfc( создает график поверхности и контура и использует индексы столбцов и строк элементов в Z)Z в качестве координат x и y.
surfc( строит графики в осях, указанных ax,___)ax вместо текущих осей. Укажите оси в качестве первого входного аргумента.
surfc(___, задает свойства поверхности, используя один или несколько аргументов пары имя-значение. Например, Name,Value)'FaceAlpha',0.5 создает полупрозрачную поверхность.
sc = surfc(___) возвращает графический массив, включающий объект поверхности диаграммы и объект горизонтали. Использовать sc для изменения поверхности и контурных графиков после их создания. Список свойств см. в разделах Свойства поверхности и Свойства горизонталей.
Создайте три матрицы одинакового размера. Затем постройте график как поверхность и отобразите контурный график под графиком поверхности. Поверхность использует Z как для высоты, так и для цвета.
[X,Y] = meshgrid(1:0.5:10,1:20); Z = sin(X) + cos(Y); surfc(X,Y,Z)

Задайте цвета для поверхности и контурного графика, включив четвертый матричный ввод. C. График поверхности использует Z для высоты и C для цвета. Укажите цвета с помощью карты цветов, в которой используются одиночные числа для обозначения цветов в спектре. При использовании карты цветов C имеет тот же размер, что и Z. Добавьте цветовую полосу на график, чтобы показать, как значения данных в C соответствуют цветам в карте цветов.
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); C = X.*Y; surfc(X,Y,Z,C) colorbar

Создайте график синей поверхности с контурным графиком под ним, указав FaceColor пара имя-значение с 'b' в качестве значения. Чтобы разрешить дальнейшие изменения, назначьте переменную графическому массиву, содержащему объекты поверхности и горизонталей. sc.
[X,Y] = meshgrid(-5:.5:5); Z = Y.*sin(X) - X.*cos(Y); sc = surfc(X,Y,Z,'FaceColor','b');

Проиндексировать в sc для доступа и изменения свойств поверхности и контурных графиков после их создания. График поверхности доступен как sc(1) и контурный график как sc(2). Например, измените цвета кромок двух графиков, установив EdgeColor свойства.
sc(1).EdgeColor = 'r'; sc(2).EdgeColor = 'b';

Горизонтали по умолчанию отображаются на минимальном z-уровне, но местоположение можно изменить, задав ZLocation собственность.
Отображение peaks набор данных как график поверхности с горизонталями на минимальном z-уровне. Укажите возвращаемый аргумент при вызове surfc для доступа к Contour объект.
Z = peaks; sc = surfc(Z);

Получение текущих осей и удлинение верхнего предела оси Z до 15. Затем переместите контуры на максимальный z-уровень.
ax = gca;
ax.ZLim(2) = 15;
sc(2).ZLocation = 'zmax';
X - x-координатыx-координаты, заданная как матрица того же размера, что и Z, или как вектор с длиной n, где [m,n] = size(Z). Если значения для не указаны X и Y, surfc использует векторы (1:n) и (1:m).
Когда X является матрицей, значения должны строго увеличиваться или уменьшаться вдоль одного измерения и оставаться постоянными вдоль другого измерения. Размер, который изменяется, должен быть противоположен размеру, который изменяется в Y. Вы можете использовать meshgrid функция для создания X и Y матрицы.
Когда X является вектором, значения должны быть строго увеличены или уменьшены.
XData свойства поверхности и контурных объектов сохраняют координаты X.
Пример: 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
Y - координаты Yy-координаты, заданная как матрица того же размера, что и Z или как вектор с длиной m, где [m,n] = size(Z). Если значения для не указаны X и Y, surfc использует векторы (1:n) и (1:m).
Когда Y является матрицей, значения должны строго увеличиваться или уменьшаться вдоль одного измерения и оставаться постоянными вдоль другого измерения. Размер, который изменяется, должен быть противоположен размеру, который изменяется в X. Вы можете использовать meshgrid функция для создания X и Y матрицы.
Когда Y является вектором, значения должны быть строго увеличены или уменьшены.
YData свойства поверхности и контурных объектов сохраняют координаты Y.
Пример: 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
Z - z-координатыz-координаты, заданные как матрица. Z должен иметь не менее двух строк и двух столбцов.
Z определяет высоту графика поверхности в каждой координате x-y. Если цвета не указаны, то Z также задает цвета поверхности.
ZData свойства поверхности и контурных объектов сохраняют координаты Z.
Пример: Z = [1 2 3; 4 5 6]
Пример: Z = sin(x) + cos(y)
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical
C - Цветовой массивmоколо-nоколо-3 массив триплетов RGBМассив цветов, указанный как mоколо-n матрица индексов карты цветов или в виде mоколо-nоколо-3 массив триплетов RGB, где Z является mоколо-n.
Чтобы использовать цвета карты цветов, укажите C в виде матрицы. Для каждой точки сетки на поверхности, C указывает цвет в карте цветов. CDataMapping свойство объекта поверхности управляет тем, как значения в C соответствуют цветам в карте цветов.
Чтобы использовать цвета truecolor, укажите C как массив RGB-триплетов.
Дополнительные сведения см. в разделе Различия между картами цветов и Truecolor.
CData свойство объекта поверхности хранит массив цветов. Для дополнительного контроля над окраской поверхности используйте FaceColor и EdgeColor свойства.
ax - Оси для печати вОси для печати в, указанные как axes объект. Если оси не указаны, то surfc строит графики в текущих осях.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
surfc(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 собственность. FaceColor свойство также должно иметь значение 'flat'.
'interp' - использовать интерполированную прозрачность для каждой грани на основе значений в AlphaData собственность. Прозрачность изменяется для каждой грани путем интерполяции значений в вершинах. Сначала необходимо указать AlphaData свойство как матрица того же размера, что и ZData собственность. FaceColor свойство также должно иметь значение 'interp'.
'texturemap' - Преобразование данных в AlphaData чтобы она соответствовала поверхности.
'FaceLighting' - Влияние светлых объектов на грани'flat' (по умолчанию) | 'gouraud' | 'none'Влияние светлых объектов на грани, указанное как одно из следующих значений:
'flat' - Равномерно наносить свет на каждую грань. Это значение используется для просмотра фасетных объектов.
'gouraud' - Изменение света по граням. Рассчитайте свет в вершинах, а затем выполните линейную интерполяцию света по граням. Это значение используется для просмотра криволинейных поверхностей.
'none' - Не применять свет от объектов света к граням.
Для добавления объекта-источника света к осям используйте команду light функция.
Примечание
'phong' значение удалено. Использовать 'gouraud' вместо этого.
Примечания и ограничения по использованию:
Эта функция принимает массивы GPU, но не выполняется на GPU.
Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Примечания и ограничения по использованию:
Эта функция работает на распределенных массивах, но выполняется в клиенте MATLAB.
Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.