创建/审阅后放大ggplot

use*_*377 3 r zoom ggplot2

我正在以批处理模式制作地块.在查看图表时,放大感兴趣的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之间的图.

mne*_*nel 8

是的,使用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)

  • 将图存储在列表中. (2认同)