[跟着NC学作图]-绘制频率分布图(图中图)

2022-11-29  本文已影响0人  小杜的生信筆記

本期内容为[跟着NC学作图]-绘制频率分布图(图中图)

--


频率直方图.png

早期自己做的图,如下:


image

那么,我们看看这个图形是如何绘制的呢?

一、数据输入

options(stringsAsFactors = FALSE) 
library(ggplot2)
library(plyr)
library(dplyr)

library(cowplot)
## 导入数据
seq_metrics <-  read.table("20221130_inputdata.txt", header = T, sep = "\t")

> seq_metrics
sample           ID           coinf_maj_common           coinf_maj_ratio           coinf_min_match           coinf_min_common           pl           Year
Pl789-021216596401_S93           21216596401           35           0.897                      0           789           21
Pl789-021216614001_S96           21216614001           45           0.978           BA_3           1           789           21
Pl789-021216651701_S57           21216651701           38           0.731                      0           789           21
Pl789-021216703901_S75           21216703901           39           0.929                      0           789           21
Pl789-021216741701_S74           21216741701           38           0.884                      0           789           21
Pl789-021216770101_S61           21216770101           38           0.884                      0           789           21
Pl789-021216803301_S81           21216803301           33           0.805                      0           789           21
Pl781-021216860001_S11           21216860001           38           0.826                      0           781           21
Pl783-021216910001_S214           21216910001           35           0.778                      0           783           21
Pl781-021216920801_S15           21216920801           37           0.725                      0           781           21
Pl789-021216977901_S86           21216977901           42           0.75                      0           789           21
Pl781-021217011901_S6           21217011901           37           0.902                      0           781           21
Pl782-021217049001_S187           21217049001           43           0.915                      0           782           21
Pl781-021217063201_S2           21217063201           38           0.95                      0           781           2

数据处理
根据year和pl进行分类,分成第一和第二
那么我们可以根据自己的需求将其分成自己需要的分类即可

first_replicate = ddply(seq_metrics, .(ID),function(x) x[order(x$Year,x$pl),][1,])
seq_metrics$Replicate = NA
seq_metrics$Replicate[is.element(seq_metrics$sample,first_replicate$sample)] = "First"
seq_metrics$Replicate[!is.element(seq_metrics$sample,first_replicate$sample)] = "Second"

在最后一列输出了分类信息。这就是我们最后的画图的数据类型。我们也可以自己手动修改的。

二、绘图

绘制First类的图形

## 绘制基础图形
ggplot(seq_metrics[seq_metrics$Replicate=="First",], aes(x=coinf_min_common))+
  geom_histogram(,binwidth=1)
image
p <-ggplot(seq_metrics[seq_metrics$Replicate=="First",], aes(x=coinf_min_common))+
  geom_histogram(,binwidth=1)+
  ggtitle("All samples") +
  xlab("Number of specific-variants from secondary lineage") +
  theme_bw()
image

绘制,缩小部分的图形

ggplot(seq_metrics[seq_metrics$Replicate=="First"& seq_metrics$coinf_min_common>1,], aes(x=coinf_min_common))+
  geom_histogram(,binwidth=1)+
  ggtitle("Samples with more than 1 specific-variants\nfrom secondary lineage") +
  xlab("Number of specific-variants from secondary lineage") +
  theme_bw()
image

三、合并

ggdraw(p +theme_half_open(12)) +  #theme_half_open(12) 第一张图的大小
  draw_plot(p_inset, .25, .25, .75, .75) ## (位置:左右,上下;图形大小:左右,上下)
image

四、频率分布图geom_histogram()函数的参数

geom_histogram(
  mapping =NULL,            #映射
  data =NULL,                      #数据集
  stat ="bin",                      #直方图
  position ="stack",           #位置
  ...,                                                       #其他geom类函数的参数
  binwidth =NULL,                      #直方图的间距
  bins =NULL,                                 #直方个数,和binwidth有类似的效果
  na.rm =FALSE,                      #逻辑个数,
  orientation =NA,                      #方向
  show.legend =NA,                      #逻辑参数,是否显示该图层的图例,NA为默认
  inherit.aes =TRUE           #逻辑参数,是否叠加本图层和默认的几何要素
)

往期文章(总汇)

小杜的生信筆記 ,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!

上一篇下一篇

猜你喜欢

热点阅读