直方图绘制

1.频数直方图

数据准备

> head(pacBioData)
               V1 V2
1 Ghir_A01G000010  1
2 Ghir_A01G000030  1
3 Ghir_A01G000040  3
4 Ghir_A01G000070  3
5 Ghir_A01G000080  1
6 Ghir_A01G000100  2

如果你同时含有两个样本的频数信息,需要针对不同的样本画不同的的柱子;只需要在数据框中添加一个字段即可。例如我的数据中含有PacBio测序数据和参考基因组数据两个文件

  • PacBio

  • regerence

pacBioData<- read.table("PacBio文件")
referenceData <- read.table("reference文件")
##添加分类信息
pacBioData$type <- "PacBio"
referenceData$type <- "reference"
## 合并两个数据框
mergeData <- rbind(pacBioData, referenceData)

绘制直方图

  • x=V2表示x轴数据使用V2字段进行映射

  • fill = type针对type字段使用不同颜色进行填充

  • stat = "count"统计x轴中每个值出现的次数,用作柱子的高度

堆积直方图

调整

  • position = "dodge"将柱子调整为不堆积状态

  • width = 0.5调整柱子宽度

这里由于x轴的坐标轴范围比较大,柱子缩放了看不清

不堆积

2.频率直方图

数据准备

使用R中的table函数和prop.table函数计算频率

处理后的数据

绘制图形

参数和之前的都是一样的

频率直方图

3.美化图片

不涉及数据层的美化

  • 图片背景色

  • 图片网格

  • 坐标轴刻度线

  • 坐标轴刻度文字

  • 坐标轴label文字

  • 图例标题

  • 图例位置

美化1

自定义填充色

美化2

调整柱子离坐标轴位置

这里我将柱子与x轴进行贴近,其他的可以类似

  • expand贴近坐标轴的位置

  • limits设置显示的范围

美化3

添加自定义文字

通过使用geom_text函数,并且选择不继承原有的图片数据

  • data = labelData要显示的注释信息

  • mapping指定显示的位置和字段

  • inherit.aes是否继承图形数据,如果是使用自定义数据,这里一定要FALSE

美化4

参考

  1. CDSN博客

Last updated

Was this helpful?