Hey guys. I have known that ggplot2 object will contain a plot_env slot with everything in the current env.
But when I save a ggplot2 object drawn by myself, which means I used ggplot()+geom_something()
to drawn it rather than Seurat::Dimplot()
, and read the rds in a new R session, the plot_env only contains .Random.seed
, p
and a function set_proxy
which is loaded by my .Rprofile.
So what determines the content of plot_env in a saved rds file?
By the way, the ggplot2 object p itself, can be call in plot_env, so it can form something like p$plot_env$p$plot_env$p$plot_env$p
, will it cause redundancy save in rds or Rdata file?
I hope to save my plot in both pdf and rds way, so it can be easily modified oneday. But plot produced by Seurat
usually contain a seurat object in the plot_env so the file is extremly huge and slow. I know it can be fix by extract out the meta.data
before generate ggplot2 object like:
data<-seurat_object@meta.data
p<-ggplot(data)+geom_violin()
But I still think it is a bit wierd that plot_env will contain the fully seurat_object besides the meta.data only.