在 R shiny 中使用来自单独项目的 ggplots:保存并稍后修改

Use ggplots from separate project in R shiny: save and modify later

我创建了一个包含许多复杂 ggplot 的大型项目。其中一些应该使用 shiny 包共享。

shiny 项目中,我想添加额外的数据点,这些数据点对侧边栏面板中的某些小部件有条件。

我的问题是是否有一种方法可以保存 ggplots,以便可以在另一个项目中修改它们(即添加 +geom_point())而不使用用于创建绘图的原始数据或代码?

您可以只在 RDS 文件中提供 ggplot 对象。例如

# create sample plot
library(ggplot2)
dd <- data.frame(x=1:10, y=exp(1:10))
gg <- ggplot(dd, aes(x,y)) + geom_point()

# save it and delete it from workspace
saveRDS(gg, "plot.rds")
rm(gg)

#reload it (into new object) and add layer
g2 <- readRDS("plot.rds")
g2 + geom_line()