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
для примера тех же данных, отображенных на графике с конусами.