Break X Axis in R

S Das picture S Das · Oct 26, 2013 · Viewed 41.2k times · Source

I want to get a broken X-axis in my plot. In the x-axis I like to insert a broken-axis symbol < // > [starting from 2 and ended in end 8 which means 2-8 will be hidden in < // > symbol] so the other values can be emphasized. In Matlab, this task is performed by using BreakXAxis. In R, plotrix library helps only to plugin a break-axis symbol, that's all.

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

Answer

Jilber Urbina picture Jilber Urbina · Oct 27, 2013

Sounds like you need 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