2017-08-09 139 views
0

我之前一直在使用Sushi软件包中的plotBedgraph函数来生成bedgraph图,但是我目前正在尝试使用ggplot2重新创建它,因为它与我实验室正在使用的其他绘图代码不兼容。在ggplot2中绘制一张bedgraph

密度图似乎适合该图,但作为来自Python的经验不足的R用户,我无法将正确的参数缠绕到绘图函数中。是否有可能在ggplot中复制下面的图像,可能是作为密度图或其他合适的绘图函数?

enter image description here

用于生成图中的数据显示如下:

chr13 0 41982 0.00000 
chr13 41982 41994 0.10076 
chr13 41994 42007 0.90151 
chr13 42007 42009 1.73827 
chr13 42009 42025 1.74104 
chr13 42025 42040 2.55356 
chr13 42040 42058 3.49472 
chr13 42058 42072 4.29485 
chr13 42072 42074 5.19204 
chr13 42074 42076 4.29485 
chr13 42076 42080 4.29924 
chr13 42080 42085 4.30696 
chr13 42085 42090 4.31473 
chr13 42090 42093 4.32252 
chr13 42093 42096 4.33021 
chr13 42096 42099 4.33801 
chr13 42099 42100 5.24009 
chr13 42100 42107 4.33801 
chr13 42107 42129 4.34580 
chr13 42129 42145 3.54015 
chr13 42145 42149 2.60059 
chr13 42149 42164 2.57264 
chr13 42164 42167 2.29211 
chr13 42167 42190 2.57264 
chr13 42190 42191 1.74104 
chr13 42191 42193 2.57264 
chr13 42193 42203 1.44231 
chr13 42203 42212 1.74104 
chr13 42212 42220 0.91309 
chr13 42220 42221 0.96337 
chr13 42221 42222 0.11592 
chr13 42222 42225 0.16794 
chr13 42225 42235 0.17174 
chr13 42235 42242 0.17557 
chr13 42242 42249 0.17939 
chr13 42249 43000 0.00000 

回答

2

这个怎么样?

ggplot(data) + geom_rect(aes(xmin=start,xmax=end,ymin=0,ymax=value))

它只是绘制每个间隔为填充矩形,无需争论。

2

这并不完全从Sushi包重现plotBedgraph,但你可以尝试:

ggplot(df, aes(x=start, y=value)) + 
    geom_step() + 
    theme_classic() 

它缺少填充物,否则会相当接近。