2013-04-30 174 views
1

我想做一个GGPLOT2散点图GGPLOT2改变颜色如何

scores <- data.frame(SampleID = rep(LETTERS[1:3], 5), PC1 = rnorm(15), PC2 = rnorm(15)) 
library(ggplot2) 
ggplot(scores, aes(x = PC1, y = PC2, colour = SampleID)) + 
    geom_point() 

这段代码的颜色数据点的梯度,使thez往往不能真正区分。我看到

http://docs.ggplot2.org/current/geom_point.html 

使用

geom_point(aes(colour = factor(cyl))) 

着色,但如果我进入

ggplot(scores, aes(x = PC1, y = PC2, colour = SampleID)) + 
     geom_point(aes(colour = factor(cyl))) 

我得到一个错误信息

in factor(cyl) : object 'cyl' not found 

有人可以告诉我,我怎么能使用散布图来着色不是渐变颜色还是不同的符号?

+3

错误说明了一切。 'cyl'不存在。使用你的变量名('SampleID')。 – 2013-04-30 21:03:36

回答

5

scale_color_manual让我们挑选使用的颜色。

ggplot(scores, aes(x = PC1, y = PC2, colour = SampleID)) + 
    geom_point() + 
    scale_color_manual(values = c("red", "black", "dodgerblue2")) 

该示例中的cyl指的是在实施例中使用的数据集mtcarscyl柱。如果您更愿意使用形状和颜色,请不要使用美学,而应使用shape美学。

ggplot(scores, aes(x = PC1, y = PC2, shape = SampleID)) + 
    geom_point() 

如果您想选择形状(通常使用[R pch码),然后使用scale_shape_manual