在 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()
我创建了一个包含许多复杂 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()