直方图绘制
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文字
图例标题
图例位置

自定义填充色

调整柱子离坐标轴位置
这里我将柱子与x轴进行贴近,其他的可以类似
expand贴近坐标轴的位置limits设置显示的范围

添加自定义文字
通过使用geom_text函数,并且选择不继承原有的图片数据
data = labelData要显示的注释信息mapping指定显示的位置和字段inherit.aes是否继承图形数据,如果是使用自定义数据,这里一定要FALSE

参考
CDSN博客
Last updated
Was this helpful?