使用ggplot2图例的因子/级别顺序

时间:2014-04-01 17:06:18

标签: r ggplot2

我很难理解因子标签如何与传说相互作用。如何设置级别的顺序,以便ggplot2系统创建我想象的图例?

在下面的代码中,情节将红色与间隔的负面相关联,蓝色与正面相关联。

require(ggplot2)
require(RColorBrewer)

set.seed(1492)  #discovery!
sample = data.frame(x = c(1:20), y = 1, obs = runif(20, -150, 150))
the.breaks = seq(-100, 100, by = 20)

sample$interval = factor(findInterval(sample$obs, vec = the.breaks, all.inside = TRUE), 
    labels = the.breaks, levels = c(1:length(the.breaks)))

pal = rev(brewer.pal(11, "RdBu"))

p = ggplot(sample, aes(x, y, colour = interval))
p = p + geom_point(size = 10)
p = p + scale_colour_manual(values = pal, limits = the.breaks, labels = the.breaks)
p = p + guides(colour = guide_legend(override.aes = list(size = 3, shape = 19)))
p

这很好用,但我真的不喜欢

pal = rev(brewer.pal(11, "RdBu"))
声明 - 似乎不优雅。我希望能够将scale_colour_manual替换为

之类的东西
p = p + scale_colour_brewer(palette="RdBu", type="div", limits = the.breaks, labels = the.breaks)

但是当我这样做时,红军与积极的结局相关联。

1 个答案:

答案 0 :(得分:0)

您可以以您喜欢的任何方式订购您的因子水平,这可以帮助您获得正确的颜色。在订购因子级别上尝试this explanation或其他任何其他内容。请注意,博客文章中的opts命令已过时。

另请查看this question

还有this one