我已经创建了一个facet_grid,因为其中一些面板没有数据,所以我创建了一个gtable,并指定了我希望空白的面板(否则面板会显示非常低的值)。
这是我用来创建gtable的代码(在堆栈溢出时找到) :)
myplot2 <-
myplot %>%
# Generate gtable of ggplot object
ggplot2::ggplot_build() %>% ggplot2::ggplot_gtable() %>%
# Modify gtable by filtering out grobs based on name using a regex pattern
# $ represents end of string. Otherwise 'panel-1-1' removes 'panel-1-10', too.
gtable::gtable_filter(pattern = "panel-1-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-1-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-1-6$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-2-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-2-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-2-6$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-3-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-3-3$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-5-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-5-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-1-6$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-2$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-6$", invert = TRUE) %>%
# Plot the modified gtable
{grid::grid.newpage(); grid::grid.draw(.)}
但是,我现在无法保存生成的图像。我使用的是重排,所以它不会出现在我的“绘图”选项卡。我尝试过以下方法(同样来自堆栈溢出),以及“save”函数的其他组合,但它无法工作。
png("myfile.png"); plot(myplot2); dev.off()
如果有人能帮我保存一个png文件,我很感激。谢谢
发布于 2022-03-11 14:18:56
谢谢大家。@teunbrand你的建议奏效了。按照您的建议,我在代码中添加了“myplot”,并保存了png。
myplot2 <-
myplot %>%
# Generate gtable of ggplot object
ggplot2::ggplot_build() %>% ggplot2::ggplot_gtable() %>%
# Modify gtable by filtering out grobs based on name using a regex pattern
# $ represents end of string. Otherwise 'panel-1-1' removes 'panel-1-10', too.
gtable::gtable_filter(pattern = "panel-1-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-1-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-1-6$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-2-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-2-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-2-6$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-3-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-3-3$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-5-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-5-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-1-6$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-1$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-2$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-5$", invert = TRUE) %>%
gtable::gtable_filter(pattern = "panel-6-6$", invert = TRUE) %>%
# Plot the modified gtable
{grid::grid.newpage(); grid::grid.draw(myplot)}
png("../images/all sites by year.png", width = 10, height = 7, units = 'in', res = 300); plot(myplot2); dev.off()
https://stackoverflow.com/questions/71427656
复制相似问题