Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Visualización de datos cuatridimensionales

Este ejemplo muestra varias técnicas para visualizar datos cuatridimensionales (4D) en MATLAB®.

Visualizar datos 4D con una variable discreta

En ocasiones, los datos tienen una variable que es discreta con solo unos pocos valores posibles. Puede crear varias gráficas del mismo tipo para los datos de cada grupo discreto. Por ejemplo, utilice la función stem3 para ver la relación entre tres variables donde la cuarta variable divide la población en grupos discretos.

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 object. The axes object with xlabel Age, ylabel Weight contains 2 objects of type stem. These objects represent Non-Smoker, Smoker.

Visualizar datos 4D con varias gráficas

En un conjunto de datos grande, es posible que quiera ver si las variables individuales están correlacionadas. Puede utilizar la función plotmatrix para crear una matriz de gráficas de n por n para ver la relación por pares entre las variables. La función plotmatrix devuelve dos salidas. La primera salida es una matriz de los objetos de línea utilizada en diagramas de dispersión. La segunda es una matriz de los objetos de ejes que se crean.

La función plotmatrix también se puede usar para conjuntos de datos de orden superior.

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

Visualizar una función de tres variables

Para muchos tipos de datos cuatridimensionales, puede utilizar colores para representar la cuarta dimensión. Esto funciona bien si tiene una función de tres variables.

Por ejemplo, represente las muertes en carretera en Estados Unidos como una función de longitud, latitud y si la ubicación es rural o urbana. Los valores x, y y z en la gráfica representan estas tres variables. El color representa el número de muertes en carretera.

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 object. The axes object with xlabel W. Longitude, ylabel N. Latitude contains an object of type scatter.

Visualizar datos en un volumen

Es posible que sus datos contengan un valor medido para un objeto físico, como la temperatura de una tubería. En estos casos, las dimensiones físicas pueden representarse como un volumen y el color se utiliza para representar la magnitud de la medición. Por ejemplo, utilice la función slice para mostrar el valor de la variable medida en secciones transversales dentro del volumen.

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 object. The axes object contains 5 objects of type surface.

Representar la función de una variable compleja

Una función compleja tiene una entrada con partes reales e imaginarias y una salida con partes reales e imaginarias. Puede utilizar una gráfica tridimensional con color para representar la función compleja. En este caso, los ejes x e y representan las partes reales e imaginarias de la entrada. El eje z representa la parte real de la salida, y el color representa la parte imaginaria de la salida.

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 object. The axes object with xlabel Real(z), ylabel Imag(z) contains an object of type surface.