四维数据的可视化一直挺烧脑的,Dots4d.m
就给出了一个还不错的方案。它不是直接画四维图,而是用颜色来表现第四维,把 x、y、z 当作三维坐标,用颜色渐变来显示第四个维度的信息,视觉上直观。
脚本用的是 MATLAB 的scatter3函数,挺熟悉的东西对吧?加上一点颜色映射,比如colormap
和c
这种颜色向量,立马让图形“活”起来了。点的颜色从深红到蓝,变化自然,看起来一目了然。
代码也不复杂,这样写:
scatter3(x, y, z, [], c, 'filled');
colormap(jet);
colorbar;
点的大小不管,直接用[]
占位,重点是那个c
,它决定了颜色,‘filled’让颜色填充进去,图看起来更舒服。
如果你在做多维数据、可视化探索或者机器学习前的 EDA,这种颜色当维度的方式还是蛮实用的。Dots4d.m
看着像是个小玩意儿,实则可以当你高维数据时的灵感参考。
哦对了,压缩包Dots4d.zip
里还有些测试数据,建议你跑一下 demo 看看效果,改改配色、调调参数,说不定用得上。