首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从gtable中保存PNG文件

从gtable中保存PNG文件
EN

Stack Overflow用户
提问于 2022-03-10 16:35:02
回答 1查看 88关注 0票数 0

我已经创建了一个facet_grid,因为其中一些面板没有数据,所以我创建了一个gtable,并指定了我希望空白的面板(否则面板会显示非常低的值)。

这是我用来创建gtable的代码(在堆栈溢出时找到) :)

代码语言:javascript
运行
复制
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”函数的其他组合,但它无法工作。

代码语言:javascript
运行
复制
png("myfile.png"); plot(myplot2); dev.off()

如果有人能帮我保存一个png文件,我很感激。谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-03-11 14:18:56

谢谢大家。@teunbrand你的建议奏效了。按照您的建议,我在代码中添加了“myplot”,并保存了png。

代码语言:javascript
运行
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71427656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档