ggplot2颜色顺序不匹配饼图顺序

时间:2016-05-16 11:07:35

标签: r ggplot2 colors

我的问题是我认为应该是直截了当的,但我无法看到如何解决它。当我按照R生成它们的顺序查看颜色的标准饼图时,我得到一个颜色顺序但是当我在ggplot中使用相同的彩虹时,我获得了不同的顺序。这是一个可重复的例子:

require(ggplot2)
myRainbow <- rainbow(7)
pie(rep(1, 7), labels=letters[1:7], col = myRainbow)
x11()
ggplot( data.frame(x = 1:7, y = 9:3), aes(x = x, y = y, colour = myRainbow[1:7],size = 4,show.legend=FALSE) ) + 
    geom_point() + scale_colour_manual(values=myRainbow, name="Colour_Test", labels=letters[1:7], breaks=myRainbow) +
    guides(size=FALSE)

这是我得到的结果:

Comparison of orders

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您“按原样”指定它们,则会获得相同的颜色顺序:

plot(y~x, data.frame(x = 1:7, y = 9:3), col = myRainbow[1:7], pch=19, cex=3)
ggplot( data.frame(x = 1:7, y = 9:3), aes(x = x, y = y, colour = I(myRainbow[1:7]), size = 4,show.legend=FALSE) ) + 
    geom_point() 

请参阅?AsIsI)。

或者,您可以scale_colour_manual(values=setNames(myRainbow, myRainbow))将正确的值映射到正确的级别。