R ggplot2将颜色分配给因子

时间:2012-05-31 15:16:09

标签: r ggplot2

我正在尝试绘制散点图x,y 由因子z着色(五个值) 使用调色板指定的颜色值 我试过了:

library(ggplot2)

Palette1 <- c('red','green','blue','violet','black')

p <- ggplot(df1, aes(x,y)) 

p + geom_point(aes(colour = factor(z)))
p + scale_colour_manual(values=Palette1 ) 

但是我收到一条错误消息:

Error: No layers in plot

感谢您的帮助。

1 个答案:

答案 0 :(得分:9)

错误的发生是因为你的情节:

p + geom_point(aes(colour = factor(z)))

然后尝试制作一个新的情节:

p + scale_colour_manual(values=Palette1)

其中没有任何图层。相反,我通常在绘图时完成所有作业:

ggpot(df1, aes(x, y, colour=factor(z))) + 
    geom_point() +
    scale_colour_manual(values=Palette1)

或者您可以将第一个p + geom_point(...)分配给p

p <- p + geom_point(...)

然后按原样继续。