问题描述
我正在开发gridExtra
R包的扩展,使其具有标签不是文本而是其他杂物的表。我正在尝试在gtable
上使用rbind
函数将两个gtables
对象排列在一起,但是问题是生成的图不适合图像。
如何使生成的gtable
对象适合图像?关于单位,我使用npc
单位分别绘制每个笔芯,并在绘制gtable矩阵时指定宽度和高度。
例如,我尝试使用pdf(width=10,height=14)
来更改pdf的宽度和高度,但这并不是很令人满意,因为除非我指定了合适的比例,否则这不符合gtable_circle对象单元格的正方形格式这取决于gtable矩阵中的列和行的数量。
非常感谢您的帮助!
这是其中gtable_text
和gtable_circle
是返回gtable对象的自定义函数的代码。
library(grid)
library(gtable)
load("../tests/testthat/testdata/DBS.rda")
theme <- ttheme_awesome()
d <- SummarizedExperiment::assays(DBS)$proportion
d <- norm_and_cat(d,ncat=theme$core$ncircle,vmax=0.5)
col <- t(colnames(d))
pdf('testplot.pdf')
g1 <- gtable_text(col,name="colhead-1",¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ fg_fun = theme$colhead$fg_fun,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ bg_fun = theme$colhead$bg_fun,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ fg_params = theme$colhead$fg_params,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ bg_params = theme$colhead$bg_params,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ padding=theme$colhead$padding)
g2 <- gtable_circle(d,name="circle",¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ fg_fun = theme$core$fg_fun,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ bg_fun = theme$core$bg_fun,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ fg_params = theme$core$fg_params,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ bg_params = theme$core$bg_params,¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ padding=theme$core$padding)
g <- rbind(g1,g2,size="last")
grid.draw(g)
dev.off()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)