2014-05-21 180 views
0

我正在尝试编辑y轴,因此它只绘制范围从-20到100,20至100的范围。 这是为了消除发生在 - 25和+25,因为我没有在这个区域绘制数据。绘制y轴上的两个范围

下面是我迄今管理,将我如何能限制ylim范围只绘制轴线-100欣赏任何人的建议是:20 -20: 预先感谢您

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) 
+1

有一个简单的可重复的例子([很好的方法])(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example))更有用只有与你的问题有关的代码。关于你的问题:我会做两个图表,将它们之间的边界设置为零,并跳过顶部的X轴。 – alko989

回答

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

希望它能帮助,

亚历

+0

谢谢亚历克斯,我通过把下面一行放入工作:gap.plot(x,y,gap = c(-25,25),col = col.vec,pch = 16,cex = 0.4,xlim = c (-200000,200000),ytics = seq(-100,100,by = 25)) – user2528935

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")