打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

       这两周在几个生信交流群里都看到了有人在问上面这张图的做法,刚好就写了一下作为推送。没有问出处是哪篇文献,所以以下用来分析的数据就是我自己胡编的喽。

       首先分析一下图,不是很清楚,大家将就看一下吧。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 <- factor(survdata$state)

sg <- ggplot(survdata,aes(x=seq,y=OS,color=state))+

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

  ylab("Survival time in years")    

final <- sg + theme_bw()+

  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。

        这次没有碎碎念,同样欢迎大家投稿和交流,有趣的案例或者是有什么问题都可以,或者只是交换一下学习资料或者分享学习资料也是OK的。

        不会搞科研的医生不是好厨子,欢迎大家来厨房找我玩,虽然你们肯定找不到我hahahahaha~~~~~~

PS: 大家要是觉得这个公众号还OK的话可以推荐给同学或者同事啊,比无数个心心


欢迎关注生信人

一个物种一个家

1对1 VIP培训服务

TCGA | 小工具 | 数据库 |组装注释 |   基因家族  |  Pvalue

基因预测  |bestorf |  sci NAR | 在线工具 | 生存分析 | 热图

 生信不死 | 初学者 | circRNA | 一箭画心| 十二生肖 | circos

 舞台|基因组 | 黄金测序 | 套路 | 杂谈组装 |  进化 | 测序简史


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【R分享|实战】 跟着科白君学画散点图就对了~
R绘图基础(四)热图 heatmap ← 糗世界
数据处理基础—ggplot2了解一下
R 语言的高颜值的配图法则 | 论文写作
热图5:ggplot2画热图及个性化修饰
R语言可视化——ggplot的theme订制
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服