我正在以批处理模式制作地块.在查看图表时,放大感兴趣的serval区域会很有用.有没有办法在绘图后缩放/重新缩放轴,然后将其恢复到原始轴范围?
在收到反馈和评论之后回答......
set.seed(5)
gplist<-list()
for (i in seq(1,29)) {
mod_evt = paste("plot",i)
df <- data.frame(x=runif(10), y=runif(10))
gp <- ggplot(df,aes(x=x,y=y)) + geom_line() + geom_point() +
labs(title = mod_evt, x="X", y="Y")
print(gp)
gplist[[i]] <- gp
}
Run Code Online (Sandbox Code Playgroud)
我想放大图27中x = 0.52附近的那个倾角
print(gplist[[27]] + coord_cartesian(xlim= c(.5,.6)))
Run Code Online (Sandbox Code Playgroud)
这将再现x轴放大在.5和.6之间的图.
是的,使用coord_cartesian(或适当的coord_xxxx)
ex <- ggplot(mtcars, aes(x=mpg,y=drat, colour=factor(cyl))) + geom_point()
ex
Run Code Online (Sandbox Code Playgroud)

# plot with "zoomed region"
ex + coord_cartesian(xlim = c(10,25),ylim= c(3,5))
Run Code Online (Sandbox Code Playgroud)

# the original still exists
ex
Run Code Online (Sandbox Code Playgroud)

如果你有一个情节列表
plot_list <- list(ggplot(mtcars, aes(x=mpg,y=drat, colour=factor(cyl))) + geom_point(),
ggplot(mtcars, aes(x=mpg,y=drat, colour=factor(am))) + geom_point())
zoomed <- lapply(plot_list, function(p) p + coord_cartesian(xlim= c(15,30)))
# or for a single plot
plot_list[[1]] + coord_cartesian(xlim= c(15,30))
Run Code Online (Sandbox Code Playgroud)