2013-10-26 13 views
10

私のプロットで壊れたX軸を取得したい。 x軸では、破線の軸記号<//> [2から始まり8で終わり、つまり、2-8が<//>の記号で隠される]を挿入して、他の値を強調することができます。 Matlabでは、このタスクはBreakXAxisを使用して実行されます。 Rでは、plotrixライブラリは、プラグインにブレーク軸シンボルのみを使用するのに役立ちます。X軸をRで中断する

x <- c(9.45, 8.78, 0.93, 0.47, 0.24, 0.12) 
y <- c(10.72, 10.56, 10.35, 10.10, 9.13, 6.72) 
z <- c(7.578, 7.456, 6.956, 6.712, 4.832, 3.345) 
plot(x, y, col='blue', pch=16, xlab= 'x', ylab='y, z') 
points(x, z, col='red', pch=17) 
library(plotrix) 
axis.break(1,2,style="slash") 

答えて

11
xgap <- ifelse(x > 8, x-6, x) 
#Possibly you'd want to check if there are values between 2 and 8. 
plot(xgap, y, col='blue', pch=16, xlab= 'x', ylab='y, z', xaxt="n") 
points(xgap, z, col='red', pch=17) 
xat <- pretty(xgap) 
xat <- xat[xat!=2] 
xlab <- ifelse(xat>2, xat+6, xat) 
axis(1,at=xat, labels=xlab) 
library(plotrix) 
axis.break(1,2,style="slash") 

enter image description here

これをしないでください。 gap.plotはやや優れた選択肢ですが、ggplot2などでファセットを使用しています。

14

はあなたが必要とするような音gap.plot

library(plotrix) 
par(bty="n") # deleting the box 
gap.plot(x,y, gap=c(2,7.5), gap.axis="x", pch=16, 
     col="blue", ylim=range(c(y,z)), 
     xtics=c(0:3,8:10), xticlab=c(0:3,8:10)) 

gap.plot(x,z, gap=c(2,7.5), gap.axis="x", pch=17, 
     col="red", ylim=range(c(y,z)), add=TRUE); axis(2) 

abline(v=seq(1.99,2.09,.001), col="white") # hiding vertical lines 
axis.break(1,2,style="slash")    # plotting slashes for breakpoints 

enter image description here

関連する問題