contourslice

Чертите контуры в плоскостях разбиения объема

Синтаксис

contourslice(X,Y,Z,V,xslice,yslice,zslice)
contourslice(V,xslice,yslice,zslice)
contourslice(___,num)
contourslice(___,lvls)
contourslice(___,method)
contourslice(ax,___)
s = contourslice(___)

Описание

пример

contourslice(X,Y,Z,V,xslice,yslice,zslice) чертит контуры в срезах для объемных данных V, где V определяет цвета контура. Задайте X, Y и Z как координатные данные. Задайте xslice, yslice и zslice как местоположения среза с помощью одной из следующих форм:

  • Чтобы чертить одну или несколько плоскостей разбиения, которые являются ортогональными к конкретной оси, задайте аргументы среза как скаляр или вектор.

  • Чтобы чертить единственный срез вдоль поверхности, задайте все аргументы среза как матрицы, которые задают поверхность.

contourslice(V,xslice,yslice,zslice) использует координатные данные по умолчанию для V. (x, y, z) местоположение для каждого элемента в V основано на столбце, строке и индексе страницы, соответственно.

пример

contourslice(___,num) задает количество линий контура, чтобы чертить на срез. Используйте эту опцию с любым из входных параметров от предыдущих синтаксисов.

contourslice(___,lvls) задает значения, в которых можно чертить линии контура в каждом срезе.

contourslice(___,method) задает метод интерполяции, где method может быть 'linear', 'cubic' или 'nearest'.

contourslice(ax,___) строит график в заданные оси вместо текущей системы координат (gca).

s = contourslice(___) возвращает созданные объекты Patch.

Примеры

свернуть все

Создайте единственную плоскость разбиения через объемные данные и чертите контуры значений данных.

Создайте матрицы X, Y, Z и V от набора данных flow. Чертите контуры V в плоскости разбиения где z = 0.

[X,Y,Z,V] = flow;
zslice = 0;
contourslice(X,Y,Z,V,[],[],zslice)
grid on

Создайте несколько плоскостей разбиения через объемные данные. Чертите контуры значений данных в каждой из плоскостей разбиения. Позвольте MATLAB выбрать уровни контура.

Создайте V как массив данных объема, заданных. Чертите контуры в трех плоскостях разбиения, которые являются ортогональными к оси X в значениях -1.2, 0.8 и 2. Не создавайте плоскости разбиения, которые являются othogonal к оси Y или оси z путем определения пустых массивов. Измените представление осей на 3-D представление и добавьте линии сетки.

[X,Y,Z] = meshgrid(-2:.2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);

xslice = [-1.2,0.8,2];   
yslice = [];
zslice = [];
contourslice(X,Y,Z,V,xslice,yslice,zslice)
view(3)
grid on

Создайте несколько плоскостей разбиения через объемные данные. Чертите контуры значений данных в каждой из плоскостей разбиения. Задайте уровни, где вы хотите чертить контуры. Затем добавьте шкалу палитры.

Чертите контуры в трех плоскостях разбиения, которые являются ортогональными к оси X в значениях -1.2, 0.8 и 2. Чертите контуры для данных объема между значениями, -0.2 и 0.4, расположили с интервалами каждый 0.01. Добавьте шкалу палитры, чтобы видеть, как значения данных сопоставляют с цветами контура. Кроме того, измените представление осей на 3-D представление и добавьте линии сетки.

[X,Y,Z] = meshgrid(-2:.2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);
xslice = [-1.2,0.8,2];   
lvls = -0.2:0.01:0.4;

contourslice(X,Y,Z,V,xslice,[],[],lvls)
colorbar
view(3)
grid on

Создайте поверхностный срез через объемные данные и чертите контуры вдоль поверхности данных объема. Задайте количество уровней контура, чтобы чертить.

Создайте V как массив данных объема, заданных. Затем покажите срез данных объема вдоль поверхности, заданной. Чертите 20 контуров вдоль поверхности. Измените представление осей на 3-D представление и добавьте линии сетки.

[X,Y,Z] = meshgrid(-5:0.2:5);
V = X.*exp(-X.^2-Y.^2-Z.^2);

[xsurf,ysurf] = meshgrid(-2:0.2:2);
zsurf = xsurf.^2-ysurf.^2;
contourslice(X,Y,Z,V,xsurf,ysurf,zsurf,20)
view(3)
grid on

Входные параметры

свернуть все

данные координаты оси X, заданные как вектор или трехмерный массив тот же размер как V. Если вы задаете трехмерный массив, это должно быть монотонным и ортогонально расположенным с интервалами, как будто произведенный meshgrid функционируют.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

данные координаты оси Y, заданные как вектор или трехмерный массив тот же размер как V. Если вы задаете трехмерный массив, это должно быть монотонным и ортогонально расположенным с интервалами, как будто произведенный meshgrid функционируют.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

данные координаты оси z, заданные как вектор или трехмерный массив тот же размер как V. Если вы задаете трехмерный массив, это должно быть монотонным и ортогонально расположенным с интервалами, как будто произведенный meshgrid функционируют.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Данные объема, заданные как трехмерный массив.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

значения среза оси X, заданные в одной из следующих форм:

  • Скаляр — Чертит одну плоскость разбиения, ортогональную к оси X в заданном местоположении.

  • Вектор — Чертит несколько плоскостей разбиения, ортогональных к оси X в заданных местоположениях.

  • [] — Не чертите плоскости разбиения.

  • Матрица — Чертит срез вдоль поверхности вместо плоскости. При использовании эту опцию, то yslice и zslice также должны быть матрицами, которые одного размера.

Пример: [2 4] чертит плоскости разбиения, ортогональные к оси X в значениях 2 и 4.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

значения среза оси Y, заданные в одной из следующих форм:

  • Скаляр — Чертит одну плоскость разбиения, ортогональную к оси Y в заданном местоположении.

  • Вектор — Чертит несколько плоскостей разбиения, ортогональных к оси Y в заданных местоположениях.

  • [] — Не чертите плоскости разбиения.

  • Матрица — Чертит срез вдоль поверхности вместо плоскости. При использовании эту опцию, то xslice и zslice также должны быть матрицами, которые одного размера.

Пример: [2 4] чертит плоскости разбиения, ортогональные к оси Y в значениях 2 и 4.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

значения среза оси z, заданные в одной из следующих форм:

  • Скаляр — Чертит одну плоскость разбиения, ортогональную к оси z в заданном местоположении.

  • Вектор — Чертит несколько плоскостей разбиения, ортогональных к оси z в заданных местоположениях.

  • [] — Не чертите плоскости разбиения.

  • Матрица — Чертит срез вдоль поверхности вместо плоскости. При использовании эту опцию, то xslice и yslice также должны быть матрицами, которые одного размера.

Пример: [2 4] чертит плоскости разбиения, ортогональные к оси z в значениях 2 и 4.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Количество линий контура на срез, заданный как скаляр.

Пример: 4 чертит четыре линии контура в каждом срезе.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Уровни линии контура, заданные как вектор. Если вы хотите чертить единственную линию контура на срез на конкретном уровне, то задайте вектор в форме [lvl lvl].

Пример: [1 3 5] чертит линии контура на уровнях 1, 3, и 5 в каждом срезе.

Пример: [4 4] чертит единственную линию контура на уровне 4 в каждом срезе.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Метод интерполяции, заданный как одно из этих значений:

  • 'linear' — Линейная интерполяция значений в соседних узлах решетки в каждой соответствующей размерности. Это значение является значением по умолчанию, когда срез является поверхностью.

  • 'cubic' — Кубичная интерполяция значений в соседних узлах решетки в каждой соответствующей размерности.

  • самый близкий Самое близкое значение узла решетки. Это значение является значением по умолчанию, когда срезы являются плоскостями.

Целевые оси, заданные как объект Axes. Если вы не задаете оси, то contourslice строит график в текущую систему координат.

Алгоритмы

Функция contourslice не очищает существующие графики перед графическим изображением.

Расширенные возможности

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

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