- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通过更改 ggplot_build 生成的数据来修改使用 ggplot 构建的图形(原因类似于 Include space for missing factor level used in fill aesthetics in geom_boxplot)。据我了解我在这个主题上找到的帮助,我应该能够在对结果( Saving grid.arrange() plot to file )调用 ggsave 之前通过应用 ggplot_gtable 和arrangeGrob 来保存结果。
但是我得到一个错误“情节应该是一个ggplot2情节”,还有这个简单的可复制示例:
require('ggplot2')
require('gridExtra')
df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")),
f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
boxthis=rnorm(100))
g <- ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()
dd <- ggplot_build(g)
# Printing the graph works:
print(arrangeGrob(ggplot_gtable(dd)))
# Saving the graph doesn't:
ggsave('test.png',arrangeGrob(ggplot_gtable(dd)))
最佳答案
它不起作用,因为 ggsave
想要一个类 ggplot
的对象,当你经过一个格罗布时。 arrangeGrob
有时会骗ggsave
假装继承自 ggplot
,但仅当至少有一个 grob 属于此类时;然而,在这里,您只传递了一个 gtable
.
也许最简单的解决方法是克隆 ggsave 并绕过类检查,
ggsave <- ggplot2::ggsave; body(ggsave) <- body(ggplot2::ggsave)[-2]
ggsave
now works with any grob .
关于r - 使用 ggplot_build 和 ggplot_gtable 后使用 ggsave 保存图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18406991/
有没有办法搜索 ggplot_build() 的整个输出(或任何其他功能),几乎就像搜索文件夹的每个子目录的完整内容? 详细信息: 我正在寻找 Retrieve values for axis lab
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 7年前关闭。 Improve this qu
我有一个与 this one 相关的问题关于如何在 ggplot boxplot 中自定义凹口。问题的作者回复了自己,并用 ggplot_build() 给出了提示,但不幸的是我无法使用它。 所以我的
我正在通过更改 ggplot_build 生成的数据来修改使用 ggplot 构建的图形(原因类似于 Include space for missing factor level used in fi
我想使用 ggplot_build 和 ggplot_gtable 函数更改 R 中的 ggplot2 绘图,然后在 plot_grid< 中使用它. 制作情节的示例代码: library(ggplo
我想使用 ggplot_build 和 ggplot_gtable 函数更改 R 中的 ggplot2 绘图,然后在 plot_grid< 中使用它. 制作情节的示例代码: library(ggplo
我有以下 R ggplot 代码: require(ggplot2) require(ggthemes) df <- data.frame(x=1:10, y=5*(1:10)) p <- ggplo
我手头有一个非常复杂的案例 ggplot2 .我尝试使用 iris 用 MWE 举例说明它数据如下。 我只有方面的箱线图,并且想移动图例以占据空方面的空间。 这一切都很好,我用 lemon::repo
我是一名优秀的程序员,十分优秀!