r - How to add a label to a transformed scale axis on the right hand side of a ggplot2? -


the linked question below worked me, except label transformed axis on rhs of plot.

how can put transformed scale on right side of ggplot2?

the source code provided in linked question follows:

library(ggplot2) library(gtable) library(grid)  lakelevels<-data.frame(day=c(1:365),elevation=sin(seq(0,2*pi,2*pi/364))*10+100) p1 <- ggplot(data=lakelevels) + geom_line(aes(x=day,y=elevation)) +        scale_y_continuous(name="elevation (m)",limits=c(75,125))  p2<-ggplot(data=lakelevels)+geom_line(aes(x=day, y=elevation))+     scale_y_continuous(name="elevation (ft)", limits=c(75,125),                breaks=c(80,90,100,110,120),              labels=c("262", "295", "328", "361", "394"))  #extract gtable g1<-ggplot_gtable(ggplot_build(p1)) g2<-ggplot_gtable(ggplot_build(p2))  #overlap panel of 2nd plot on of 1st plot  pp<-c(subset(g1$layout, name=="panel", se=t:r)) g<-gtable_add_grob(g1, g2$grobs[[which(g2$layout$name=="panel")]], pp$t, pp$l,pp$b, pp$l)      ia <- which(g2$layout$name == "axis-l")    ga <- g2$grobs[[ia]]    ax <- ga$children[[2]]    ax$widths <- rev(ax$widths)    ax$grobs <- rev(ax$grobs)    ax$grobs[[1]]$x <- ax$grobs[[1]]$x - unit(1, "npc") + unit(0.15, "cm")    g <- gtable_add_cols(g, g2$widths[g2$layout[ia, ]$l], length(g$widths) - 1)    g <- gtable_add_grob(g, ax, pp$t, length(g$widths) - 1, pp$b)    # draw    grid.draw(g) 


Comments

Popular posts from this blog

xslt - Substring before throwing error -

Google Cloud Bigtable Durability/Availability Guarantees -

Android M doze mode and "native" posix socket freezing up -