ggplot2如何改变颜色

时间:2013-04-30 21:01:20

标签: 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()

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

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

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

1 个答案:

答案 0 :(得分:6)

scale_color_manual让你选择使用的颜色。

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

示例中的cyl是指示例中使用的cyl数据集的mtcars列。如果您更愿意使用形状然后使用颜色,请不要使用colour美学,而是使用shape美学。

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

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