exponenta event banner

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

В этом примере показано несколько способов визуализации четырехмерных (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.