根据第 4 维更改每个标记的颜色

Change colour of each marker depending on a 4th dimension

我有 3 个独立的轴,没有多少离散值,以及 3 个维度的数据:x、y 和 z。

问题是,因为没有那么多离散值,所以我无法准确地看到数据中的聚类。我想要的是,不是每个点都是相同的颜色,而是一个点是不同的颜色,具体取决于它出现的次数 - 就像一个带点的 3d 热图。例如,如果 (1,1,1) 出现三次,我希望它比出现一次的东西更红。

我看过 Julia 的系列菜谱文档,但我不太确定如何去做。我能指出正确的方向吗?有没有更明智的可视化方式?

编辑:为了向任何人展示它最终的样子,我拥有的数据就像这样:

最简单和最自然的事情就是给你的情节添加抖动。

数据设置:

using Random
Random.seed!(0)
N=2000
dat=DataFrame(x=rand(1:5,N),y=rand(1:5,N),z=rand(1:5,N))

绘图:

scatter3d(dat.x+rand(N)./10 .- 0.2, 
          dat.y+rand(N)./10 .- 0.2, 
          dat.z+rand(N)./10 .- 0.2)

但是,如果您想使用颜色,仍然可以这样做:

dat2=combine(groupby(dat,[:x,:y,:z]),nrow)

处理完数据后,现在让我们制作一个颜色图(您可能需要进行不同的调整):

using Colors
cols = range(colorant"red", stop=colorant"green", length=maximum(dat2.nrow))

绘图时间:

scatter3d(dat2.x, dat2.y, dat2.z, color=cols[dat2.nrow])