首页 文章

ggplot2:绘制geom中因子的顺序

提问于
浏览
7

我有一个(密集的)数据集,由5组组成,所以我的data.frame看起来像x,y,group . 我可以使用以下方法绘制此数据并根据其组对点进行着色:

p= ggplot(dataset, aes(x,y))
p = p + geom_point(aes(colour = group))

我的问题现在只是我想控制哪个组位于最前面 . 目前看起来这是随机决定的(至少我似乎无法弄清楚是什么让某些东西成为“顶级”点) . 在ggplot2中是否有任何方法告诉geom_point点的顺序应该是什么?

2 回答

  • 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

  • 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将此顺序用于图例 .

相关问题