【问题标题】:gridExtra rotate row names and arrange column namesgridExtra 旋转行名和排列列名
【发布时间】:2018-08-09 15:51:32
【问题描述】:

我有两个问题

1.当我使用tableGrobarrangeGrob设置多个行名时,如何轮换名称,我注意到有人发布了类似的问题R grid.table column heading character rotation。但是,我在这里失败了

library(grid)
library(gridExtra)
gs <- lapply(1:9, function(ii)
grobTree(rectGrob(gp=gpar(fill=ii, alpha=0.5)), textGrob(ii)))
gR <- arrangeGrob(grobs=gs, ncol=4,
                  top="top label",
                  right="right label")
tt <- ttheme_default(base_size = 8,
                     rowhead=list(fg_params=list(rot=90)))
lt <- tableGrob(c("", "134442243", "5425376", "938372378"),
                theme = tt)
cb <- cbind(lt, gR, size = "last")
grid.newpage()
grid.draw(cb)

2.当我为 arrangeGrob 设置多个 xlabels 如下时,grobs 很窄

tt <- ttheme_default(colhead=list(fg_params = list(parse=F)))
bt <- tableGrob(matrix(c("    1    ", "2", "3", "4", ""),ncol = 5), theme = tt)
rb <- rbind(gR, bt, size = "last")
# the width of each grob is changed by `bt`
grid.newpage()
grid.draw(rb)

似乎每个 grob 宽度都与每个 xlabel 宽度相关。如何保持 grob 宽度并将 xlabel 放在 grob 的中间底部?

【问题讨论】:

  • 请使用dput()(不是strhead或图片/屏幕截图)分享您的数据样本,以便其他人可以提供帮助。在此处查看更多信息stackoverflow.com/questions/5963269/…
  • 同时上传您创建的图,以便人们知道您在说什么

标签: r grid gridextra


【解决方案1】:

您传递给 tableGrob 的数据没有行名,它只是一个向量,以 core 参数为主题,

tt <- ttheme_default(base_size = 8,
                     core = list(fg_params=list(rot=90)))

如果您希望第一个 gtable 设置组合 gtable 的宽度,请使用“first”而不是“last”

rbind(gR, bt, size = "first")

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 2018-03-24
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多