contourslice

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

Описание

пример

contourslice(X,Y,Z,V,xslice,yslice,zslice) чертит контуры в срезах для объемных данных V, где V определяет цвета контура. Задайте XY, и 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 объекты создаются.

Примеры

свернуть все

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

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

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

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

Создайте V как массив данных об объеме, заданных v=xe-x2-y2-z2. Чертите контуры в трех плоскостях разбиения, которые являются ортогональными к оси X в значениях -1.2, 0.8, и 2. Не создавайте плоскости разбиения, которые являются ортогональными к оси 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 как массив данных об объеме, заданных v=xe-x2-y2-z2. Затем покажите срез данных об объеме вдоль поверхности, заданной z=x2-y2. Чертите 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' — Кубичная интерполяция значений в соседних узлах решетки в каждой соответствующей размерности.

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

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

Алгоритмы

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

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

Смотрите также

| | | |

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