是否可以在ggplot中使用自由比例对各个方面进行不同的轴间断/限制?

时间:2013-09-16 01:42:23

标签: r ggplot2

我看到这个相关问题在2010年被提出(标题为:How do you set different scale limits for different facets?),并想知道是否有可能针对不同方面有不同的休息时间?

原因是我想在下图中仅显示下图中的整数值(顶部图表的间隔为50): enter image description here

重现图像的代码:

dat <- data.frame(date=seq(0, 729, 1), Var1=round(seq(from=0, length.out=730, by=0.2)),   Var2=round(seq(from=5, length.out=730, by=0.01))  )
dat.m <- melt(dat, id.var="date")
ggplot(dat.m, aes(date,  value)) + 
      scale_x_continuous(name="Time") + 
      expand_limits(y=0) +
      ylab("Variable") + 
      geom_step() + 
      facet_grid(variable~., scales="free_y")+ 
      scale_y_continuous(breaks = seq(0, 150, by = 1))

1 个答案:

答案 0 :(得分:1)

首先,您的代码不会生成与我的机器相同的绘图。你能提供sessionInfo()吗?

我认为不可能。我可以通过简单的方式实现您的最佳近似要求:

ggplot(dat.m, aes(date,  value)) + 
      scale_x_continuous(name="Time") + 
      expand_limits(y=0) +
      ylab("Variable") + 
      geom_step() + 
      facet_grid(variable~., scales="free_y")+ 
      scale_y_continuous(breaks = c(seq(0, 12, by = 2),seq(0, 150, by = 50)))

enter image description here