我有一个包含 10k 行和 3 列的数据框:xpos、ypos 和簇(簇是从 0 到 9 的数字):http://pastebin.com/NyQw29tb http://pastebin.com/NyQw29tb
我想显示一个六边形图,其中每个六边形根据该六边形内最常见的簇进行着色。
到目前为止我已经得到:
library(ggplot2)
library(hexbin)
ggplot(clusters, aes(x=xpos, y=ypos, z=cluster)) + stat_summary_hex(fun.x=mode)
我认为这给了我我想要的(即用 0 到 9 的颜色填充每个六边形),但色标看起来是连续的,我不知道如何让它使用离散的色标。
对于额外的上下文,这是数据的底层、更混乱的视图,我试图通过使用六边形来平滑它:
qplot(data=clusters, xpos, ypos, color=factor(cluster))
我不知道你的是什么stat_summary_hex(fun.x=mode)
正在做,但我很确定这不是你想的那样(mode
给出对象的存储模式,而不是统计模式,并且fun.x
与任何正式参数不匹配stat_summary_hex
)。尝试这个。它将每个箱中的观察结果制成表格,并提取最大计数的标签。
ggplot(clusters, aes(x=xpos, y=ypos, z=cluster)) + stat_summary_hex(fun = function(x) {
tab <- table(x)
names(tab)[which.max(tab)]
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)