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')
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
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';
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';
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)';