Объемная поверхностная диаграмма
surf(
создает 3D объемную поверхностную диаграмму, которая является 3D поверхностью, которая имеет твердые цвета обводки и чистые цвета поверхности. Графики функций значения в матричном 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
изменить поверхность после того, как это создается. Для списка свойств смотрите Surface Properties.
Создайте три матрицы, одного размера. Затем постройте их как поверхность. Объемная поверхностная диаграмма использует 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
для цвета. Задайте цвета с помощью истинного цвета, который использует триплеты чисел, чтобы обозначать все возможные цвета. Когда вы используете истинный цвет, если Z
m
- n
, затем CO
m
- n
- 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- в виде матрицы тот же размер как Z
, или как вектор с длиной n
, где [m,n] = size(Z)
. Если вы не задаете значения для X
и Y
, surf
использует векторы (1:n)
и (1:m)
.
Можно использовать meshgrid
функция, чтобы создать X
и Y
матрицы.
XData
свойство Surface
объектно-ориентированная память 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
| datetime
| duration
Y
— y - координатыy- в виде матрицы тот же размер как Z
или как вектор с длиной m
, где [m,n] = size(Z)
. Если вы не задаете значения для X
и Y
, surf
использует векторы (1:n)
и (1:m)
.
Можно использовать meshgrid
функция, чтобы создать X
и 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
| datetime
| duration
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
| datetime
| duration
C
— Цветовая гаммаm
- n
- 3
массив триплетов RGBЦветовая гамма в виде m
- n
матрица индексов палитры или как m
- n
- 3
массив триплетов RGB, где Z
m
- n
.
Чтобы использовать цвета палитры, задайте C
как матрица. Для каждого узла решетки на поверхности, C
указывает на цвет в палитре. CDataMapping
свойство объекта подложки управляет как значения в C
соответствуйте раскрашивает палитру.
Чтобы использовать цвета истинного цвета, задайте C
как массив триплетов RGB.
Для получения дополнительной информации смотрите Различия Между Палитрами и Истинным цветом.
CData
свойство объекта подложки хранит цветовую гамму. Для дополнительного управления окраской поверхности используйте FaceColor
и EdgeColor
свойства.
ax
— Оси, чтобы построить вОси, чтобы построить в в виде axes
объект. Если вы не задаете оси, то surf
графики в текущую систему координат.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
surf(X,Y,Z,'FaceAlpha',0.5,'EdgeColor','none')
создает полупрозрачную поверхность без чертивших ребер.Примечание
Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите Surface Properties.
'EdgeColor'
— Цвет линии ребра
(значение по умолчанию) | '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'
'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'
вместо этого.
Указания и ограничения по применению:
Эта функция принимает массивы графического процессора, но не работает на графическом процессоре.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Указания и ограничения по применению:
Эта функция работает с распределенными массивами, но выполняет в клиенте MATLAB.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.