Плоскость разбиения (которая не должна быть плоской) является поверхностью, которая принимает окрашивание на основе значений объемных данных в области, где расположен срез. Плоскости разбиения полезны для зондирования наборов объемных данных, чтобы обнаружить, где существуют интересные области, которые можно затем визуализировать с другими типами графиков (см. slice пример). Плоскости разбиения также полезны для добавления визуального контекста к границе объема, когда также используются другие методы построения графика (см. coneplot и отобразить потоки с использованием векторных данных для примеров).
Используйте slice функция для создания плоскостей разбиения. Этот пример срезает объем, сгенерированный flow.
Сгенерируйте объемные данные командой:
[x,y,z,v] = flow;
Определите область значений объема путем нахождения минимума и максимума данных о координатах.
xmin = min(x(:)); ymin = min(y(:)); zmin = min(z(:)); xmax = max(x(:)); ymax = max(y(:)); zmax = max(z(:));
Чтобы создать плоскость разбиения, которая не лежит в плоскости осей, сначала задайте поверхность и поверните ее к нужной ориентации. Этот пример использует поверхность, которая имеет те же координаты X и Y, что и объем.
hslice = surf(linspace(xmin,xmax,100),... linspace(ymin,ymax,100),... zeros(100));
Поверните поверхность на -45 степени вокруг оси X и сохраните поверхность XData, YData, и ZData для определения плоскости разбиения; затем удалите поверхность.
rotate(hslice,[-1,0,0],-45) xd = get(hslice,'XData'); yd = get(hslice,'YData'); zd = get(hslice,'ZData');
delete(hslice)
Нарисуйте повернутую плоскость разбиения, задав FaceColor на interp так, чтобы он был окрашен палитрой рисунка, и установите EdgeColor на none. Увеличьте DiffuseStrength на .8 чтобы сделать эту плоскость блестеть более ярко после добавления источника света.
colormap(turbo) h = slice(x,y,z,v,xd,yd,zd); h.FaceColor = 'interp'; h.EdgeColor = 'none'; h.DiffuseStrength = 0.8;

Набор hold на on и добавить еще три ортогональные плоскости разбиения в xmax, ymax, и zmin чтобы предоставить контекст для первой плоскости, которая срезается по объему под углом.
hold on hx = slice(x,y,z,v,xmax,[],[]); hx.FaceColor = 'interp'; hx.EdgeColor = 'none'; hy = slice(x,y,z,v,[],ymax,[]); hy.FaceColor = 'interp'; hy.EdgeColor = 'none'; hz = slice(x,y,z,v,[],[],zmin); hz.FaceColor = 'interp'; hz.EdgeColor = 'none';
Чтобы отобразить объем в правильных пропорциях, установите соотношение сторон данных равным [1,1,1] (daspect). Отрегулируйте ось так, чтобы она плотно помещалась вокруг объема (axis). Ориентация осей может быть выбрана первоначально с помощью rotate3d для определения лучших view.
Масштабирование на сцене обеспечивает больший вид громкости (camzoom). Выбор типа проекции perspective дает прямоугольному твердому телу более естественные пропорции, чем ортогональная проекция по умолчанию (camproj).
daspect([1,1,1]) axis tight view(-38.5,16) camzoom(1.4) camproj perspective
Добавление света к сцене делает контуры между четырьмя плоскостями разбиения более очевидными, потому что каждая плоскость образует другой угол с источником света (lightangle). Выбор палитры только с 24 цветами (значение по умолчанию 64) создает видимые градации, которые помогают указать изменение объема.
lightangle(-45,45) colormap(turbo(24))

Изменение отображения цвета показывает, как изменить соответствие данных цвету.
Текущая палитра определяет раскраску плоскостей разбиения. Это позволяет вам изменить раскраску плоскости разбиения путем:
Изменение палитры
Изменение отображения значения данных на цвет
Предположим, например, что вы заинтересованы в значениях данных только между -5 и 2,5 и хотите использовать палитру, которая отображала более низкие значения на красные и более высокие значения на синие (то есть противоположные значению по умолчанию turbo палитра).
Разверните палитру используя colormap и flipud:
colormap(flipud(turbo(24)))

Скорректируйте пределы цвета, чтобы подчеркнуть любую конкретную область значений данных, представляющий интерес. Отрегулируйте пределы цвета в диапазоне от -5 до 2.4832, чтобы отобразить любое значение ниже значения -5 (исходные данные варьировались от -11.5417 до 2.4832) в тот же цвет. Для получения информации о отображении цвета смотрите caxis функция.
caxis([-5,2.4832])

Добавьте цветовую панель, чтобы предоставить ключ для отображения данных в цвет.
colorbar('southoutside')