我看到这个相关问题在2010年被提出(标题为:How do you set different scale limits for different facets?),并想知道是否有可能针对不同方面有不同的休息时间?
原因是我想在下图中仅显示下图中的整数值(顶部图表的间隔为50):
重现图像的代码:
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))
答案 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)))