我有一个(密集的)数据集,由5个组组成,因此我的data.frame看起来像x,y,group。我可以使用以下方法绘制此数据并根据其组对点进行着色:
p= ggplot(dataset, aes(x,y))
p = p + geom_point(aes(colour = group))
我现在的问题只是我想控制哪个群体在最顶层。目前看起来这是随机决定的(至少我似乎无法弄清楚是什么让某些东西成为“顶级”点)。在ggplot2中是否有任何方法告诉geom_point点的顺序应该是什么?
答案 0 :(得分:9)
订单审美可能就是你想要的。
library(ggplot2)
d <- ggplot(diamonds, aes(carat, price, colour = cut))
d + geom_point()
dev.new()
d + geom_point(aes(order = sample(seq_along(carat))))
文档位于?aes_group_order
答案 1 :(得分:8)
创建因子变量时,可以使用levels参数
影响排序f = factor(c('one', 'two'), levels = c('one', 'two'))
dataset = data.frame(x=1:2, y=1:2, group=f)
p = ggplot(dataset, aes(x,y))
p = p + geom_point(aes(colour = group))
现在,ggplot将这个顺序用于图例。