exponenta event banner

поверхность

Создайте объект подложки

Синтаксис

поверхность (Z)
поверхность (Z, C)
поверхность (X, Y, Z)
поверхность (X, Y, Z, C)
поверхность (x, y, Z)
поверхность... 'PropertyName', PropertyValue...)
поверхность (ax...)
h = поверхность (...)

Свойства

Для списка свойств смотрите Surface Properties.

Описание

surface является низкоуровневой функцией для создания поверхностных графических объектов. Поверхности являются графиками матричных данных, созданных с помощью индексов строки и столбца каждого элемента как x-и y-координаты и значение каждого элемента как z-координата.

surface(Z) строит график поверхности, заданной матричным Z. Здесь, Z является однозначной функцией, заданной по геометрически прямоугольной сетке. Значения в Z могут быть числовыми, datetime, длительность или категориальные значения.

surface(Z,C) строит график поверхности, заданной Z, и окрашивает его согласно данным в C (см. "Примеры").

surface(X,Y,Z) использует C = Z, таким образом, цвет пропорционален поверхностной высоте выше x-y плоскости.

surface(X,Y,Z,C) строит график параметрической поверхности, заданной X, Y и Z, с цветом, заданным C. Значения в X, Y и Z могут быть числовыми, datetime, длительность или категориальные значения.

surface(x,y,Z), surface(x,y,Z,C) заменяет первые два матричных аргумента на векторы и должен иметь length(x) = n и length(y) = m где [m,n] = size(Z). В этом случае вершины поверхностных фасетов, утраивает (x(j),y(i),Z(i,j)). Обратите внимание на то, что x соответствует столбцам Z, и y соответствует строкам Z. Для полного обсуждения параметрических поверхностей смотрите, что surf функционирует. Значения в x, y и Z могут быть числовыми, datetime, длительность или категориальные значения.

поверхность... 'PropertyName', PropertyValue...), следует за этими X, Y, Z, и аргументами C с именем свойства / пары значения свойства, чтобы задать дополнительные поверхностные свойства. Для описания свойств смотрите Surface Properties.

surface(ax,...) создает поверхность в осях, заданных ax вместо в текущей системе координат (gca). Опция ax может предшествовать любой комбинации входных аргументов в предыдущих синтаксисах.

h = surface(...) возвращает примитивный объект подложки.

Примеры

свернуть все

Постройте график функции на области и. Используйте meshgrid, чтобы задать X и Y. Затем задайте Z и создайте объемную поверхностную диаграмму. Измените представление графика с помощью view.

[X,Y] = meshgrid(-2:0.2:2,-2:0.2:2);
Z = X.*exp(-X.^2 - Y.^2);
figure
surface(X,Y,Z)
view(3)

surface создает график из соответствующих значений в X, Y и Z. Если вы не задаете цветные данные C, то surface использует Z, чтобы определить цвет, таким образом, цвет пропорционален поверхностной высоте.

Используйте функцию peaks, чтобы задать XD, YD и ZD как 25 25 матрицы.

[XD,YD,ZD] = peaks(25);

Загрузите набор данных clown, чтобы получить данные изображения X и его связанная палитра, map. Инвертируйте X с помощью flipud, функционируют и задают инвертированное изображение как цветные данные для поверхности, C.

load clown
C = flipud(X);

Создайте объемную поверхностную диаграмму и отобразите изображение вдоль поверхности. Поскольку поверхностные данные ZD и цветные данные, C имеет различные размерности, необходимо установить поверхностный FaceColor на 'texturemap'.

figure
surface(XD,YD,ZD,C,...
    'FaceColor','texturemap',...
    'EdgeColor','none',...
    'CDataMapping','direct')
colormap(map)
view(-35,45)

Данные клоуна обычно просматриваются с функцией image, которая использует нумерацию оси 'ij'. Этот пример инвертирует данные изображения в вертикальном направлении с помощью flipud.

Примеры

Для примеров смотрите Данные Представления как Поверхность.

Советы

surface не уважает настройки фигуры и свойств NextPlot осей. Это просто добавляет объект подложки к текущей системе координат.

Если вы не задаете отдельные цветные данные (C), MATLAB® использует матрицу (Z), чтобы определить окраску поверхности. В этом случае цвет пропорционален значениям Z. Можно задать отдельную матрицу, чтобы окрасить поверхность независимо от данных, задающих область поверхности.

Можно задать свойства как имя свойства / пары значения свойства или использующий запись через точку.

surface обеспечивает формы удобства, которые позволяют вам не использовать имя свойства XData, YData, ZData и свойств CData. Например,

surface('XData',X,'YData',Y,'ZData',Z,'CData',C)

эквивалентно

surface(X,Y,Z,C)

Когда вы задаете только единственный матричный входной параметр,

surface(Z)

MATLAB присваивает свойства данных, как будто вы задали

surface('XData',[1:size(Z,2)],...
   'YData',[1:size(Z,1)],...
   'ZData',Z,...
   'CData',Z)

axis, caxis, colormap, hold, shading и команды view устанавливают графические свойства, которые влияют на поверхности. Можно также установить и запросить поверхностные значения свойств после создания их использующий запись через точку.

Представлено до R2006a