分享

干货|高逼格的sci图片手把手教学

 unicheng 2018-06-04

       首先分析一下图,不是很清楚,大家将就看一下吧。A就是一个散点图,根据Risk Score进行了sort,用基础的plot或者ggplot就能画一个一毛一样的。B也是一个散点图,我习惯用ggplot,只需要把生存状态映射给颜色就可以了。C是一个没有聚类的热图,用pheatmap就可以做出来了。

        实在不想去TCGA下载数据整理再来做推送了,机(lan)智(duo)的我直接在R包ggplot2里面找了一组数据,然后把行名给改了,处理了一下,和代码一起放在网盘里,不嫌弃的话可以直接去下载用来练习。

01

A  散点图

        用ggplot2做的图,先做一个散点图,然后去掉x轴标签,再删除x轴刻度。点的形状、大小那些细节大家可以自己把握。文献图中的竖线调用geom_vline(),设置一下显示部位就可以了。刻度大小调用

Scatter Plots

install.packages('ggplot2')

library(ggplot2)

mydata <- read.table('witty.txt',sep='\t' ,header="T,stringsAsFactors" =="" f,na.strings=''>

p = ggplot(mydata,aes(x=seq,y=risk))+

  geom_point(shape=21,color='black',fill='white',sort(aes(mydata$seq)))+

  labs(x='',y='Risk Score') #设置坐标轴标签,也可以用axis.title.x = element_blank()处理x轴标签

p + ylim(0,6)+

  theme_bw()+

  theme(axis.line = element_line(color='black'), #设置坐标轴线

        axis.text.x = element_blank(), #删除x轴刻度

        axis.text.y = element_text(size = 10))  

02

B 生存情况

       这个表示生存情况的图和我们平时看到的K-M曲线不太一样,但是这个图也是很好画的,同样用ggplot2就可以了。和上面的那个散点图差不多,只是这里多了一个把生存状态映射给颜色的步骤。在geom_point里面调用color就OK了。另外,我们平常看到的图都是绿色表示Live,红色表示Dead,所以最后又调用了scale_color_manual()对颜色进行了设置。

Survival Graph

library(ggplot2)

survdata <- read.table('witty.txt',sep='\t' ,header="T,stringsAsFactors" =="" f,na.strings=''>

survdata$state <->

sg <- ggplot(survdata,aes(x="">

  geom_point(shape=21,sort(aes(survdata$seq)))+

  ylab('Survival time in years')    

final <- sg="" +="">

  theme(axis.line = element_line(color = 'black'),

                    axis.text.x = element_blank(),

                    axis.title.x = element_blank(),

                    axis.text.y = element_text(size = 10))

final + labs(color='state')+

  scale_color_manual(values = c('red','green')) 

03

C 热图

       忘记RNA-Seq的那篇推送有没有说热图的绘制了。绘制热图的R包有很多,比较习惯用pheatmap,做的图比较漂亮,也很方便,甚至只要把表达数据导入RStudio,然后直接调用pheatmap就能做出聚类图了,具体的用法大家可以去下载说明书研究一下。

       pheatmap的缺点可能就是横坐标只能垂直显示吧。最后,导出文件时最好是在pheatmap()中调用filename='xx.pdf',别问我怎么知道的,某次用pdf()作图打开输出文件PDF时是空白的,最后发现竟然有两页,图在第2页。

heapmap

install.packages('pheatmap')

library(pheatmap)

mydata <- read.table('miexpr.txt',sep='\t' ,header="T,row.names" =="" 1,stringsasfactors="F,na.strings" =="">

pheatmap(mydata,cluster_rows = F,cluster_cols = F,show_rownames = T,show_colnames = T)


col_anno <- data.frame(sampletype="rep(c('Normal','Cancer'),c(16,16)),row.names=" colnames(mydata))="">

anno_color <- list(sampletype="c(Normal='green',Cancer='red'))">

pheatmap::pheatmap(mydata,scale = 'column',show_colnames = F,

                   cluster_rows = F,cluster_cols = F,

                   annotation_col = col_anno,annotation_colors = anno_color)

        这周就这么多咯,主要分析了文献里面的一个实例。代码和数据可以在网盘中下载,ggplot2的说明书也放在里面了,链接:https://pan.baidu.com/s/1WFYQdwWIqczJ1wZnP_cXeA 密码:1cvs。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多