Набор векторных данных MATLAB ® называетсяwind представляет собой воздушные течения над Северной Америкой. В этом примере используется комбинация методов:
Линии потока для отслеживания скорости ветра
Секущие плоскости для отображения поперечных сечений данных
Контуры на плоскостях среза для улучшения видимости раскраски плоскости среза
Загрузите данные и определите минимальные и максимальные значения для определения местоположения плоскостей среза и контурных графиков (load, min, max).
load wind xmin = min(x(:)); xmax = max(x(:)); ymax = max(y(:)); zmin = min(z(:));
Вычислите величину векторного поля (которое представляет скорость ветра) для генерации скалярных данных для slice команда. Создание плоскостей среза вдоль оси X в xmin, 100, и xmax, вдоль оси y при ymaxи вдоль оси z при zmin. Задайте интерполированную раскраску грани, чтобы раскраска среза указывала на скорость ветра и не рисовала кромки (sqrt, slice, FaceColor, EdgeColor).
wind_speed = sqrt(u.^2 + v.^2 + w.^2); hsurfaces = slice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin); set(hsurfaces,'FaceColor','interp','EdgeColor','none') colormap turbo
Нарисуйте светло-серые контурные линии на плоскостях срезов, чтобы определить соответствие цветов (contourslice, EdgeColor, LineWidth).
hcont = ... contourslice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin); set(hcont,'EdgeColor',[0.7 0.7 0.7],'LineWidth',0.5)
В этом примере все линии потока начинаются со значения оси x, равного 80, и охватывают диапазон от 20 до 50 в направлении y и от 0 до 15 в направлении z. Сохраните маркеры линий потока и задайте ширину и цвет линии (meshgrid, streamline, LineWidth, Color).
[sx,sy,sz] = meshgrid(80,20:10:50,0:5:15); hlines = streamline(x,y,z,u,v,w,sx,sy,sz); set(hlines,'LineWidth',2,'Color','r')
Настройте вид, развернув ось Z, чтобы облегчить чтение графика (view, daspect, axis).
view(3) daspect([2,2,1]) axis tight

Посмотрите coneplot для примера тех же данных, нанесенных на график конусами.