ggplot2: plotting order of factors within a geom

后端 未结 2 494
南旧
南旧 2020-12-09 23:07

I have a (dense) dataset that consist of 5 groups, so my data.frame looks something like x,y,group. I can plot this data and colour the points based on their group using:

相关标签:
2条回答
  • 2020-12-09 23:19

    The order aesthetic is probably what you want.

    library(ggplot2)
    d <- ggplot(diamonds, aes(carat, price, colour = cut))
    d + geom_point()
    dev.new()
    d + geom_point(aes(order = sample(seq_along(carat))))
    

    The documentation is at ?aes_group_order

    0 讨论(0)
  • 2020-12-09 23:31

    When you create the factor variable, you can influence the ordering using the levels parameter

    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))
    

    Now, ggplot uses this order for the legend.

    0 讨论(0)
提交回复
热议问题