Визуализация четырехмерных данных

В этом примере показано несколько методов визуализации четырехмерных (4-D) данных в MATLAB ®.

Визуализация 4-D данных с помощью одной дискретной переменной

Иногда данные имеют переменную, которая дискретна с несколькими возможными значениями. Можно создать несколько графиков одного типа для данных в каждой дискретной группе. Для примера используйте stem3 функция, чтобы увидеть связь между тремя переменными, где четвертая переменная делит население на дискретные группы.

load patients Smoker Age Weight Systolic                           % load data

nsIdx = Smoker == 0;
smIdx = Smoker == 1;

figure
stem3(Age(nsIdx), Weight(nsIdx), Systolic(nsIdx), 'Color', 'b')    % stem plot for non-smokers
hold on
stem3(Age(smIdx), Weight(smIdx), Systolic(smIdx), 'Color', 'r')    % stem plot for smokers
hold off

view(-60,15)
zlim([100 140])

xlabel('Age')                                                      % add labels and a legend
ylabel('Weight') 
zlabel('Systolic Blood Pressure') 
legend('Non-Smoker', 'Smoker', 'Location', 'NorthWest')

Figure contains an axes. The axes contains 2 objects of type stem. These objects represent Non-Smoker, Smoker.

Визуализация 4-D данных с несколькими графиками

С большим набором данных вы, возможно, захотите увидеть, коррелируют ли отдельные переменные. Можно использовать plotmatrix функция для создания n на n матрицы графиков, чтобы увидеть парные отношения между переменными. The plotmatrix функция возвращает два выхода. Первый выход является матрицей объектов линий, используемых на графиках поля точек. Второй - это матрица созданных объектов осей.

The plotmatrix функция может также использоваться для наборов данных более высокого порядка.

load patients Height Weight Diastolic Systolic    % load data

labels = {'Height' 'Weight' 'Diastolic' 'Systolic'};
data = [Height Weight Systolic Diastolic];

[h,ax] = plotmatrix(data);                        % create a 4 x 4 matrix of plots
for i = 1:4                                       % label the plots
  xlabel(ax(4,i), labels{i})
  ylabel(ax(i,1), labels{i})
end

MATLAB figure

Визуализируйте функцию трех переменных

Для многих видов четырехмерных данных можно использовать цвет, чтобы представлять четвертую размерность. Это хорошо работает, если у вас есть функция трех переменных.

Например, представьте смертность на шоссе в Соединенных Штатах как функцию долготы, широты и если место является сельским или городским. Значения x, y и z на графике представляют эти три переменные. Цвет представляет количество смертей на шоссе.

cla
load accidents hwydata                             % load data

long = -hwydata(:,2);                              % longitude data
lat = hwydata(:,3);                                % latitude data
rural = 100 - hwydata(:,17);                       % percent rural data
fatalities = hwydata(:,11);                        % fatalities data

scatter3(long,lat,rural,40,fatalities,'filled')    % draw the scatter plot
ax = gca;
ax.XDir = 'reverse';
view(-31,14)
xlabel('W. Longitude')
ylabel('N. Latitude')
zlabel('% Rural Population')

cb = colorbar;                                     % create and label the colorbar
cb.Label.String = 'Fatalities per 100M vehicle-miles';

Figure contains an axes. The axes contains an object of type scatter.

Визуализация данных в томе

Ваши данные могут содержать измеренное значение для физического объекта, такого как температура в трубопроводе. В этом случае физические размерности могут быть представлены как объем с цветом, используемым для представления величины измерения. Для примера используйте slice функция, чтобы показать значение измеренной переменной на сечениях в объеме.

load fluidtemp x y z temp                       % load data

xslice = [5 9.9];                               % define the cross sections to view
yslice = 3;
zslice = ([-3 0]);

slice(x, y, z, temp, xslice, yslice, zslice)    % display the slices
ylim([-3 3])
view(-34,24)

cb = colorbar;                                  % create and label the colorbar
cb.Label.String = 'Temperature, C';

Figure contains an axes. The axes contains 5 objects of type surface.

Постройте график функции комплексной переменной

Комплексная функция имеет вход с вещественной и мнимой частями и выход с действительной и мнимой частями. Можно использовать трехмерный график с цветом, чтобы представлять комплексную функцию. В этом случае оси X и Y представляют действительную и мнимую части входа. Ось z представляет действительную часть выхода, а цвет - мнимую часть выхода.

r = (0:0.025:1)';                        % create a matrix of complex inputs
theta = pi*(-1:0.05:1);
z = r*exp(1i*theta);
w = z.^3;                                % calculate the complex outputs

surf(real(z),imag(z),real(w),imag(w))    % visualize the complex function using surf
xlabel('Real(z)')
ylabel('Imag(z)')
zlabel('Real(w)')
cb = colorbar;
cb.Label.String = 'Imag(w)';

Figure contains an axes. The axes contains an object of type surface.

Для просмотра документации необходимо авторизоваться на сайте