Упрощение графиков векторных данных

Данные отображения ветра

Набор данных вектора MATLAB® под названием wind представляет воздушные потоки по Северной Америке. Этот пример использует комбинацию методов:

  • Линии потоков, чтобы проследить скорость ветра

  • Плоскости разбиения, чтобы показать перекрестные виды в сечении данных

  • Контуры в плоскостях разбиения, чтобы улучшить видимость окраски плоскости разбиения

1. Определение области значений координат

Загрузите данные и определите минимальные и максимальные значения, чтобы определить местоположение плоскостей разбиения и контурных графиков (load, min, max).

load wind
xmin = min(x(:));
xmax = max(x(:));
ymax = max(y(:));
zmin = min(z(:));

2. Добавление плоскостей разбиения для визуального контекста

Вычислите значение векторного поля (который представляет скорость ветра) сгенерировать скалярные данные для команды 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 jet

3. Добавление линий контура к плоскостям разбиения

Чертите светло-серые линии контура в плоскостях разбиения, чтобы помочь определить количество отображения цвета (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)

4. Определение отправных точек для линий потоков

В этом примере все линии потоков запускаются в значении оси 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')

5. Определение представления

Настройте представление, расширив ось z, чтобы облегчить читать график (view, daspect, axis).

view(3)
daspect([2,2,1])
axis tight

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

Была ли эта тема полезной?