2013-04-30 127 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