如何通过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看起来像
答案 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()