四维数据的可视化一直挺烧脑的,Dots4d.m就给出了一个还不错的方案。它不是直接画四维图,而是用颜色来表现第四维,把 x、y、z 当作三维坐标,用颜色渐变来显示第四个维度的信息,视觉上直观。

脚本用的是 MATLAB 的scatter3函数,挺熟悉的东西对吧?加上一点颜色映射,比如colormapc这种颜色向量,立马让图形“活”起来了。点的颜色从深红到蓝,变化自然,看起来一目了然。

代码也不复杂,这样写:

scatter3(x, y, z, [], c, 'filled');
colormap(jet);
colorbar;

点的大小不管,直接用[]占位,重点是那个c,它决定了颜色,‘filled’让颜色填充进去,图看起来更舒服。

如果你在做多维数据、可视化探索或者机器学习前的 EDA,这种颜色当维度的方式还是蛮实用的。Dots4d.m看着像是个小玩意儿,实则可以当你高维数据时的灵感参考。

哦对了,压缩包Dots4d.zip里还有些测试数据,建议你跑一下 demo 看看效果,改改配色、调调参数,说不定用得上。