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

Этот пример показывает несколько методов, чтобы визуализировать четырехмерные (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 матрицей графиков видеть попарные отношения между переменными. plotmatrix функция возвращает два выходных параметра. Первый выход является матрицей объектов линии, используемых в графиках рассеивания. Второй является матрица объектов осей, которые создаются.

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.