在y轴上绘制两个范围

时间:2014-05-21 11:54:52

标签: r plot plotrix

我正在尝试编辑y轴,因此它只绘制范围从-20到100和20到100。 这是为了删除在-25和+25之间发生的大的空白空间,因为我没有在该区域内绘制数据。

以下是我迄今为止所管理的内容,并感谢任何人就如何限制ylim范围仅绘制-100:-20和20:100之间的轴

的建议

提前谢谢

library(plotrix)
pdf("distance2gene.pdf")
data<-read.table("closest_gene_bed.txt",header=FALSE, sep="\t")
DM=data$V5
Distance=data$V15
col.vec=c(rep('olivedrab',length(Distance)))
ind=which(abs(Distance) < 5000)
col.vec[ind]= 'darkorchid4'
opt <- options(scipen = 10)
plot(Distance, DM, col= col.vec, pch = 16, cex  =.4,ylim=range(-100,100),xlim=c(-500000,500000))
axis(side = 2, at = c(-100,-75,-50,-25,0,25,50,75,100))
axis.break(axis=2, breakpos=0, brw=0.05, style="slash")
options(opt)

2 个答案:

答案 0 :(得分:1)

我刚看到你正在使用plotrix包:

您正在寻找的功能是?gap.plot

尝试类似:

library(plotrix)
set.seed(1)
y.up <- runif(100, 20, 100)
y.down <- runif(100, -100, -20)
gap.plot(1:200, c(y.up, y.down), gap=c(-20,20))

enter image description here

希望它有所帮助,

亚历

答案 1 :(得分:0)

使用ggplot

同样的事情
set.seed(1)
y.up   <- runif(100, 20, 100)
y.down <- runif(100, -100, -20)

library(ggplot2)
library(reshape2)
df <- data.frame(x=seq_len(100),y.up,y.down)
gg <- melt(df,id="x")
ggplot(gg, aes(x=x,y=value))+geom_point()+facet_grid(variable~.,scales="free")