jO.
jO.

Reputation: 3512

Plot with multiple breaks of different sizes

I would like to create a plot with multiple breaks of different sized intervals on the y axis. The closest post I could find is this Show customised X-axis ticks in ggplot2 But it doesn't fully solve my problem.

 # dummy data

 require(ggplot2)
 require(reshape2)

 a<-rnorm(mean=15,sd=1.5, n=100)
 b<-rnorm(mean=1500,sd=150, n=100)
 df<-data.frame(a=a,b=b)
 df$x <- factor(seq(100), ordered = T)
 df.m <- melt(df)

 ggplot(data = df.m, aes(x = x, y=value, colour=variable, group=variable)) +
 geom_line() + scale_y_continuous(breaks = c(seq(from = 0, to = 20, by = 1),
 seq(from = 1100, to = max(y), by = 100))) + 
 theme(axis.text.x = element_text(angle = 90, hjust = 1))

The problem is how to get the first set of breaks to be proportional to the second (thus visible).

enter image description here

Any pointer would be very much appreciated, thanks!

Upvotes: 0

Views: 420

Answers (1)

alko989
alko989

Reputation: 7908

You can try something like this:

# Rearrange the factors in the data.frame
df.m$variable <- factor(df.m$variable, levels = c("b", "a"))

ggplot(data = df.m, aes(x = x, y=value, colour=variable, group=variable)) +
    geom_line()  + facet_grid(variable~., scales = "free")

enter image description here

Hope this helps

Upvotes: 2

Related Questions