Контурный график в соответствии с объемной поверхностной диаграммой
surfc(
создает 3D объемную поверхностную диаграмму с контурным графиком внизу. Объемная поверхностная диаграмма является 3D поверхностью, которая имеет твердые цвета обводки и чистые цвета поверхности. Графики функций значения в матричном 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
изменить поверхность и контурные графики после того, как они создаются. Для списка свойств смотрите Surface Properties и Свойства контура.
Создайте три матрицы, одного размера. Затем постройте их как поверхность и отобразите контурный график в соответствии с объемной поверхностной диаграммой. Поверхность использует 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
— y - координатыy- в виде матрицы тот же размер как 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
соответствуйте раскрашивает палитру.
Чтобы использовать цвета истинного цвета, задайте C
как массив триплетов RGB.
Для получения дополнительной информации смотрите Различия Между Палитрами и Истинным цветом.
CData
свойство объекта подложки хранит цветовую гамму. Для дополнительного управления окраской поверхности используйте FaceColor
и EdgeColor
свойства.
ax
— Оси, чтобы построить вОси, чтобы построить в в виде axes
объект. Если вы не задаете оси, то surfc
графики в текущую систему координат.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
surfc(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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.