2014-05-21 216 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")