四维数据可视化
1、用一个离散变量可视化四维数据
有时数据有一个变量,它是离散的,只有几个可能的值。
您可以为每个离散组中的数据创建相同类型的多个绘图。
例如,使用stem3函数查看三个变量之间的关系,其中第四个变量将种群划分为离散组。
命令行键入:
load patients Smoker Age Weight Systolic
nsIdx = Smoker == 0;
smIdx = Smoker == 1;
figure
stem3(Age(nsIdx), Weight(nsIdx), Systolic(nsIdx), 'Color', 'b')
hold on
stem3(Age(smIdx), Weight(smIdx), Systolic(smIdx), 'Color', 'r')
hold off
view(-60,15)
zlim([100 140])
xlabel('Age')
ylabel('Weight')
zlabel('Systolic Blood Pressure')
legend('Non-Smoker', 'Smoker', 'Location', 'NorthWest')
2、按“Enter”键。
如图1所示。

3、用多地块可视化4-D数据
对于大型数据集,您可能希望查看单个变量是否相关。
您可以使用plotmatrix函数创建一个n×n的矩阵来查看变量之间的成对关系。
plotmatrix函数返回两个输出。
第一个输出是散点图中使用的线对象的矩阵。
第二个是创建的轴对象的矩阵。
plotmatrix函数还可以用于高阶数据集。
命令行键入:
load patients Height Weight Diastolic Systolic
labels = {'Height' 'Weight' 'Diastolic' 'Systolic'};
data = [Height Weight Systolic Diastolic];
[h,ax] = plotmatrix(data);
for i = 1:4
xlabel(ax(4,i), labels{i})
ylabel(ax(i,1), labels{i})
end
4、按“Enter”键。
如图2所示。

5、三变量可视化函数
对于许多四维数据,你可以使用颜色来表示四维。
如果你有一个三个变量的函数,这很有效。
例如,在美国,高速公路死亡人数是根据经度、纬度以及地点是在农村还是在城市的函数来表示的。
图中的x、y和z值表示这三个变量。
颜色代表高速公路死亡人数。
命令行键入:
cla
load accidents hwydata
long = -hwydata(:,2);
lat = hwydata(:,3);
rural = 100 - hwydata(:,17);
fatalities = hwydata(:,11);
scatter3(long,lat,rural,40,fatalities,'filled')
ax = gca;
ax.XDir = 'reverse';
view(-31,14)
xlabel('W. Longitude')
ylabel('N. Latitude')
zlabel('% Rural Population')
cb = colorbar;
cb.Label.String = 'Fatalities per 100M vehicle-miles';
6、按“Enter”键。
如图3所示。

7、在卷中可视化数据
您的数据可能包含物理对象的测量值,例如管道中的温度。
在这种情况下,物理尺寸可以表示为一个体积,颜色用来表示测量的大小。
例如,使用切片函数显示被测变量在体积内的横截面上的值。
命令行键入:
load fluidtemp x y z temp
xslice = [5 9.9];
yslice = 3;
zslice = ([-3 0]);
slice(x, y, z, temp, xslice, yslice, zslice)
ylim([-3 3])
view(-34,24)
cb = colorbar;
cb.Label.String = 'Temperature, C';
8、按“Enter”键。
如图4所示。

9、绘制复变量的函数
复变函数的输入有实部和虚部,输出有实部和虚部。
你可以用一个三维图形和颜色来表示复杂的功能。
在这种情况下,x轴和y轴代表输入的实部和虚部。
z轴表示输出的实部,颜色表示输出的虚部。
命令行键入:
r = (0:0.025:1)';
theta = pi*(-1:0.05:1);
z = r*exp(1i*theta);
w = z.^3;
surf(real(z),imag(z),real(w),imag(w))
xlabel('Real(z)')
ylabel('Imag(z)')
zlabel('Real(w)')
cb = colorbar;
cb.Label.String = 'Imag(w)';
10、按“Enter”键。
如图5所示。
