虽然是很简单的散点图,但有很多参数设置的地方,这里记录下来的原因主要是以下几点:
- 对不同的点分配不同的颜色
- 添加图例,并指定为多列
- 添加文本标注
示例数据:
PC1 | PC2 | |
NC8C1 | -0.208049 | 0.2023135 |
NC8C2 | -0.2039773 | 0.2046073 |
NC8E1 | -0.1914189 | -0.1790282 |
NC8E2 | -0.190302 | -0.2473515 |
NC24C1 | -0.2129566 | 0.1698323 |
NC24C2 | -0.2029877 | 0.2190302 |
NC24E1 | -0.2028864 | -0.2095522 |
NC24E2 | -0.2025481 | -0.211528 |
RA8C1 | -0.1960301 | 0.2400162 |
RA8C2 | -0.202865 | 0.2125429 |
RA8E1 | -0.2090364 | -0.1716459 |
RA8E2 | -0.2067338 | -0.1850653 |
RA24C1 | -0.213878 | 0.1737106 |
RA24C2 | -0.2071998 | 0.208487 |
RA24E1 | -0.2041258 | -0.1693916 |
RA24E2 | -0.2017541 | -0.2215754 |
RV8C1 | -0.2101627 | 0.196803 |
RV8C2 | -0.2110334 | 0.1947657 |
RV8E1 | -0.1999773 | -0.2177706 |
RV8E2 | -0.2022075 | -0.2121078 |
RV24C1 | -0.2084137 | 0.1987418 |
RV24C2 | -0.2116179 | 0.1747531 |
RV24E1 | -0.1993449 | -0.2189258 |
RV24E2 | -0.1972458 | -0.2313619 |
开始画图:
mfff<-read.table(“shi_li_file”,sep=”\t”,header=T,row.names=1)
mycol<-c(“#FF0000″,”#FFFF00″,”#008B8B”,”#7FFFD4″,”#FFFAFA”,”#0000FF”,”#8A2BE2″,”#A52A2A”,”#000000″,”#7FFF00″,”#80000040″,”#FF7F50″,”#6495ED”,”#DC143C”,”#00FFFF”,”#B8860B”,”#A9A9A9″,”#006400″,”#FFDAB9″,”#8B008B”,”#FF00FF”,”#483D8B”,”#2F4F4F”,”#D2B48C”) #定义一个颜色向量下一步用来给每个点着色(这里我给每个点都赋不同颜色,所以用了24种颜色)
plot(mfff,main= ‘Test plot’,xlab= “PC1”,ylab= “PC2”,type= ‘p’,col=mycol,cex=2,lwd=2) #画点图
col=mycol #用定义的颜色向量mycol给每个点着色,向量元素个数需等于点的个数
cex=2 #点符号(图形)的大小设为默认大小的2倍
lwd=2 #点符号(图形)的宽度设为默认大小的2倍
legend(“topright”,title=”Sample”,legend = rownames(mfff),pch=1,col = mycol,cex=0.5,ncol=2) #添加图例
“topright” #图例位置添加在右上角,另外注意可以通过参数设置xpd=TRUE
在图形外增加图例。此时需在这个位置指定x,y轴坐标。
legend = rownames(mfff) #legend的文本标签
pch=1 #设置图例的符号的格式,1 表示空心圆圈
col = mycol #图形着色
cex=0.5 #legend的文本标签字体大小为默认的0.5倍
ncol=2 #图例标签分2列展示
text(x= mfff[,1], y= mfff[,2], labels= rownames(mfff), cex= 0.3) #添加文本标注
x= mfff[,1], y= mfff[,2] #文本标注的位置
labels= rownames(mfff) #文本标注的文本
cex= 0.3 #文本标注的大小为默认字体的0.3倍
参考:
http://www.xueqing.tv/cms/article/117 #添加图例 xpd=TRUE
在图形外增加图例
http://blog.csdn.net/myl1992/article/details/45826931 #多列图例 ncol=2,表示4组图例排列为2列
尊重他人劳动成果,转载请注明出处:Bluesky's blog » R plot 画指定颜色的散点图