ggplot2如何改变颜色

Tim*_*ert 2 r 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()
Run Code Online (Sandbox Code Playgroud)

此代码为渐变中的数据点着色,因此z通常无法真正区分.我看到了

http://docs.ggplot2.org/current/geom_point.html
Run Code Online (Sandbox Code Playgroud)

使用

geom_point(aes(colour = factor(cyl)))
Run Code Online (Sandbox Code Playgroud)

用于着色,但如果我进入

ggplot( scores, aes( x = PC1, y = PC2, colour = SampleID ) ) +
      geom_point(aes(colour = factor(cyl)))
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息

 in factor(cyl) : object 'cyl' not found
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何使用不是渐变颜色或不同的符号来对散点图进行着色?

Gre*_*gor 6

scale_color_manual 让我们选择使用的颜色.

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

cyl在实施例指的是cyl所述的列mtcars在实施例中使用的数据集.如果您更愿意使用形状然后使用颜色,请不要使用colour美学,而应使用shape美学.

ggplot( scores, aes( x = PC1, y = PC2, shape = SampleID ) ) +
    geom_point()
Run Code Online (Sandbox Code Playgroud)

如果要选择形状(使用通常的R pch代码),请使用scale_shape_manual.