exponenta event banner

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

Figure contains an axes. The axes contains 41 objects of type patch.

Создание нескольких плоскостей среза с помощью объемных данных. Нарисуйте контуры значений данных в каждой из плоскостей среза. Пусть 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

Figure contains an axes. The axes contains 20 objects of type patch.

Создание нескольких плоскостей среза с помощью объемных данных. Нарисуйте контуры значений данных в каждой из плоскостей среза. Укажите уровни, на которых требуется построить контуры. Затем добавьте панель цветов.

Рисование контуров в трех плоскостях среза, ортогональных оси 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

Figure contains an axes. The axes contains 63 objects of type patch.

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

Создать 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

Figure contains an axes. The axes contains 20 objects of type patch.

Входные аргументы

свернуть все

координатные данные оси X, указанные как вектор или массив 3-D того же размера, что и V. Если задан массив 3-D, он должен быть монотонным и ортогонально разнесенным, как если бы он был создан meshgrid функция.

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

координатные данные оси y, указанные как вектор или массив 3-D того же размера, что и V. Если задан массив 3-D, он должен быть монотонным и ортогонально разнесенным, как если бы он был создан meshgrid функция.

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

координатные данные оси Z, указанные как вектор или массив 3-D того же размера, что и V. Если задан массив 3-D, он должен быть монотонным и ортогонально разнесенным, как если бы он был создан meshgrid функция.

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

Данные тома, указанные как массив 3-D.

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

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

  • Скаляр (Scalar): нарисуйте одну плоскость среза, ортогональную оси X в указанном месте.

  • Вектор (Vector) - построение нескольких плоскостей среза, ортогональных оси X в указанных расположениях.

  • [] - Не нарисуйте плоскости среза.

  • Матрица (Matrix) - рисование фрагмента вдоль поверхности вместо плоскости. Если вы используете этот параметр, то yslice и zslice также должны быть матрицы одинакового размера.

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

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

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

  • Скаляр (Scalar): нарисуйте одну плоскость среза, ортогональную оси Y в указанном месте.

  • Вектор (Vector) - построение нескольких плоскостей среза, ортогональных оси Y в указанных расположениях.

  • [] - Не нарисуйте плоскости среза.

  • Матрица (Matrix) - рисование фрагмента вдоль поверхности вместо плоскости. Если вы используете этот параметр, то xslice и zslice также должны быть матрицы одинакового размера.

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

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

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

  • Скаляр (Scalar): нарисуйте одну плоскость среза, ортогональную оси Z в указанном месте.

  • Вектор (Vector) - построение нескольких плоскостей среза, ортогональных оси Z в указанных расположениях.

  • [] - Не нарисуйте плоскости среза.

  • Матрица (Matrix) - рисование фрагмента вдоль поверхности вместо плоскости. Если вы используете этот параметр, то 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