Footsteps on my way !
perl/linux/测序分析

R plot 画指定颜色的散点图

虽然是很简单的散点图,但有很多参数设置的地方,这里记录下来的原因主要是以下几点:

  1. 对不同的点分配不同的颜色
  2. 添加图例,并指定为多列
  3. 添加文本标注

示例数据:

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倍test_plot1

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列展示test_plot2
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倍test_plot3

参考:
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 画指定颜色的散点图

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址