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