我是MATLAB的业余用户,我希望有一个4D颜色图,颜色代表第四维。我尝试使用scatter3如下:
fid = fopen('abc.dat','r');
datacell = textscan(fid, '%f%f%f%f');
fclose(fid);
all_data = cell2mat(datacell); %converted into a matrix
boxx = all_data(:,1);
boxy = all_data(:,2);
boxz = all_data(:,3);
disden = all_data(:,4); %color depends on the value of disden
scatter3(boxx,boxy,boxz,400,disden,'filled')
xlabel('Box x')
ylabel('Box y')
zlabel('Box z')
cb = colorbar; % create the colorbar
set(get(cb,'title'),'string','Dislocation Density(m^{-2})'); % label colobar
虽然它有效但我希望整个空间可以用立方体填充而不是上面的情况。在上述情况下,仅使用斑点,因此即使它们的大小可以设置它们仍然不能填满空间。我的所有x,y,z值都是整数,我可以使用尺寸为1x1x1的立方体和第四维定义的颜色,以便整个空间可以填满吗?
另一个问题是颜色条的标签太靠近颜色条中显示的数字并且它们重叠。我可以设置条形标签的位置,使其稍远一点吗?
非常感谢。