我在这里问了一个关于电网排列的问题并得到了很好的回应.我想现在减少绘图之间的空间但是会出错.首先,我介绍有效的代码,然后是错误代码(我尝试过的).我实际上找不到grid.arrange并且一直认为它来自gridExtra但我可能是不正确的.
所以2部分:
grid.arrange(Baptiste我知道你维护gridExtra所以如果我没有按照预期的方式使用它,请纠正我的想法或使用包.)好代码坏空间
require(ggplot2);require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +
coord_flip() + ylab("")
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip()
gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth = grid::unit.pmax(gA$widths[2:3], gB$widths[2:3])
gA$widths[2:3] <- as.list(maxWidth)
gB$widths[2:3] <- as.list(maxWidth)
grid.arrange(gA, gB, ncol=1)
Run Code Online (Sandbox Code Playgroud)
糟糕的代码(我的尝试)
require(ggplot2);require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +
coord_flip() + ylab("") + theme(plot.margin= unit(1, "cm"))
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip()
gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth …Run Code Online (Sandbox Code Playgroud) 我试图将多个tableGrob对象与ggplot对象组合成一个.png文件; 我无法理解如何以允许我调整表格对象的填充和尺寸的方式编辑tableGrob主题参数.理想情况下,我希望它们位于4*1网格中,每个网格之间的填充最少.表对象的文本也应该左对齐.
我正在使用虚拟数据,我的输入数据集的每一行将用于创建自己的.png文件(下面的代码片段中包含两行以生成可重现的示例).
我试着用这篇文章作为例子,并根据每个表对象的"高度"属性设置grid.arrange间距,但这还没有完成.作为旁注,现在,情节每次都会被覆盖; 我稍后会解决这个问题,我只关心输出尺寸/排列是否正确.代码如下; 编辑以包括库调用,并修正了错字:
require("ggplot2")
require("gridExtra")
require("grid")
# Generate dummy data frame
sampleVector <- c("1", "Amazing", "Awesome", "0.99", "0.75", "0.5", "$5,000.00", "0.55", "0.75", "0.31", "0.89", "0.25", "Strong community support", "Strong leadership", "Partners had experience", "", "CBO not supportive", "Limited experience", "Limited monitoring", "")
sampleVectorB <- c("3", "Amazing", "Awesome", "0.99", "0.75", "0.5", "$5,000.00", "0.55", "0.75", "0.31", "0.89", "0.25", "Strong community support", "Strong leadership", "Partners had experience", "", "CBO not supportive", "Limited experience", "Limited monitoring", "")
sampleDF <- …Run Code Online (Sandbox Code Playgroud)