Примитивная объемная поверхностная диаграмма
surface(
создает примитивную, 3D объемную поверхностную диаграмму. Графики функций значения в матричном X
,Y
,Z
)Z
когда высоты выше сетки в x-y плоскость заданы X
и Y
. Цвет поверхности варьируется согласно высотам, заданным Z
.
В отличие от этого, surf
функция, примитив surface
функция не вызывает newplot
прежде, чем построить и не уважает значение NextPlot
свойство для фигуры или осей. Вместо этого это добавляет объемную поверхностную диаграмму в текущую систему координат, не удаляя другие графические объекты или сбрасывая свойства осей.
surface(
создает примитивную объемную поверхностную диаграмму и использует столбец и индексы строки элементов в Z
)Z
как x - и y - координаты.
surface(
графики в оси заданы ax
,___)ax
вместо текущей системы координат. Задайте оси как первый входной параметр.
surface(___,
задает поверхностные свойства с помощью одного или нескольких аргументов пары "имя-значение". Например, Name,Value
)'FaceAlpha',0.5
создает полупрозрачную поверхность.
s = surface(___)
возвращает график примитивный объект подложки. Используйте s
изменить поверхность после того, как это создается. Для списка свойств смотрите Surface Properties.
Создайте три матрицы, одного размера. Затем постройте их как поверхность. Поверхность использует Z
и для высоты и для цвета.
[X,Y] = meshgrid(1:0.5:10,1:20); Z = sin(X) + cos(Y); surface(X,Y,Z)
По умолчанию появитесь отображения в осях с помощью двумерного представления. Измените оси в 3D представление.
view(3)
Задайте цвета для объемной поверхностной диаграммы включения четвертого матричного входа, C
. Сетчатый график использует Z
для высоты и C
для цвета. Задайте цвета с помощью палитры, которая использует одно числа, чтобы обозначать цвета на спектре. Когда вы используете палитру, C
одного размера с Z
. Добавьте цветную полосу в график, чтобы показать как значения данных в C
соответствуйте цветам в палитре и установите представление графика к 3D представлению по умолчанию.
[X,Y] = meshgrid(1:0.5:10,1:20); Z = sin(X) + cos(Y); C = X.*Y; surface(X,Y,Z,C) colorbar view(3)
Создайте полупрозрачную поверхность путем определения FaceAlpha
пара "имя-значение" с 0.5
как значение. Чтобы позволить дальнейшие модификации, присвойте объект подложки переменной s
.
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = surface(X,Y,Z,'FaceAlpha',0.5);
view(3)
Используйте s
получить доступ и изменить свойства объекта подложки после того, как это создается. Например, скройте ребра путем установки EdgeColor
свойство.
s.EdgeColor = 'none';
Создайте поверхность и отобразите изображение вдоль него.
Создайте три матрицы, одного размера.
[pX,pY,pZ] = peaks(25);
Загрузите набор данных, содержащий изображение Земли. Данные изображения появляются в переменной X
рабочей области, и связанная палитра появляется в
map
.
load earth
who
Your variables are: X map pX pY pZ
Создайте объемную поверхностную диаграмму и отобразите изображение вдоль поверхности. Начиная с поверхностных данных pZ
и цветные данные X имеют различные размеры, устанавливают поверхностный FaceColor
к 'texturemap'
. Установите представление графика к 3D представлению по умолчанию.
surface(pX,pY,pZ,X,'FaceColor','texturemap', ... 'EdgeColor','none','CDataMapping','direct') colormap(map) view(3)
X
— x - координатыx- в виде матрицы тот же размер как Z
, или как вектор с длиной n
, где [m,n] = size(Z)
. Если вы не задаете значения для X
и Y
, surface
использует векторы (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
Y
— y - координатыy- в виде матрицы тот же размер как Z
или как вектор с длиной m
, где [m,n] = size(Z)
. Если вы не задаете значения для X
и Y
, surface
использует векторы (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
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
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
объект. Если вы не задаете оси, то surface
графики в текущую систему координат.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
surface(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'
вместо этого.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.