控制ggplot中的点颜色

时间:2015-04-17 07:31:15

标签: r plot ggplot2

如何通过ggplot2控制散点图中点的颜色?我需要前20个颜色,然后接下来的20个颜色不同。目前我正在使用基础R绘图输出。矩阵看起来像这样

1 4
1 3
2 9
-1 8
9 9

我的颜色矢量看起来像

cols<-c("#B8DBD3","#FFB933","#FF6600","#0000FF")

然后

plot(mat[,1],mat[,2],col=cols)

作品。

我怎么能这样做ggplot?


关于颜色

我的cols矢量看起来像这样 100-将N

colours<-c(rep("#B8DBD3",n),rep("#FFB933",n),rep("#FF6600",n),rep("#0000FF",n),rep("#00008B",n),rep("#ADCD00",n),rep("#008B00",n),rep("#9400D3",n))

然后我做

d<-ggplot(new,aes(x=PC1,y=PC2,col=rr))
d+theme_bw() +
  scale_color_identity(breaks = rep(colours, each = 1)) +
  geom_point(pch=21,size=7)

颜色看起来完全不同 情节(新[1],新的[1,2],COL =颜色) 这看起来像 http://fs2.directupload.net/images/150417/2wwvq9u2.jpg 而具有相同颜色的ggplot看起来像

http://fs1.directupload.net/images/150417/bwc5wn7b.jpg

1 个答案:

答案 0 :(得分:2)

我建议创建一个列,指定一个点属于哪个组。

library(ggplot2)
xy <- data.frame(x = rnorm(80), y = rnorm(80), col = as.factor(rep(1:4, each = 20)))

cols<-c("#B8DBD3","#FFB933","#FF6600","#0000FF")

ggplot(xy, aes(x = x, y = y, col = col)) +
  theme_bw() +
  scale_colour_manual(values = cols) +
  geom_point()

enter image description here