поверхность

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

Синтаксис

поверхность (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

Была ли эта тема полезной?