在R中使用gridextra时,将多行脚注添加到tableGrob

StatMan

我最近开始使用tableGrob和gridextra来组合多个绘图和表格。我希望mt tableGrob有脚注和标题。

以下链接很好地回答了这一问题:将文本添加到grid.table图中

但是在上面的代码中,脚注太长了,被截断了。有人可以建议其他方法,以便脚注到达表格末尾时自动换行到下一行吗?如果它可以环绕在单词中间,那也很好。

test <- data.frame(boo = c(20,1), do = c(2,10), no = c(3,5),co = c('ed','jeff'))

t1 <- tableGrob(test)

tw <- convertWidth(unit(grobWidth(t1),'npc'),
                   "in", valueOnly = T)

title <- textGrob("Title is long too or is it??",gp=gpar(fontsize=15))
footnote <- textGrob("footnote is pretty longgg but not unusually longgggggggggkjwd jwkldn", x=0, hjust=0,
                     gp=gpar( fontface="italic"))

padding <- unit(0.5,"line") 

t1 <- gtable_add_rows(t1, 
                        heights = grobHeight(title) + padding,
                        pos = 0)
t1 <- gtable_add_rows(t1, 
                        heights = grobHeight(footnote)+ padding)
t1 <- gtable_add_grob(t1, list(title, footnote),
                        t=c(1, nrow(t1)), l=c(1,1), 
                        r=ncol(t1))

grid.arrange(t1)

长脚注表

当我有一个图和网格中的表格时,我希望它能正常工作。请帮忙。

我尝试使用strwrap并将宽度设置为grobWidth,但对我而言不起作用。

浸礼会

RGraphics手册/软件包提供了可能的解决方案,

splitString <- function (text, width) {
  strings <- strsplit(text, " ")[[1]]
  newstring <- strings[1]
  linewidth <- stringWidth(newstring)
  gapwidth <- stringWidth(" ")
  availwidth <- convertWidth(width, "in", valueOnly = TRUE)
  for (i in 2:length(strings)) {
    width <- stringWidth(strings[i])
    if (convertWidth(linewidth + gapwidth + width, "in", 
                     valueOnly = TRUE) < availwidth) {
      sep <- " "
      linewidth <- linewidth + gapwidth + width
    }
    else {
      sep <- "\n"
      linewidth <- width
    }
    newstring <- paste(newstring, strings[i], sep = sep)
  }
  newstring
}


tit <- "Title is long too or is it??"
foot <- "footnote is pretty longgg but not unusually longgggggggggkjwd jwkldn"
footnote <- textGrob(splitString(foot, sum(t1$widths)))
title <- textGrob(splitString(tit, sum(t1$widths)))
t1 <- gtable_add_rows(t1, heights = grobHeight(footnote))
t1 <- gtable_add_rows(t1, heights = grobHeight(title), 0)
t1 <- gtable_add_grob(t1, list(title, footnote),
                      t=c(1, nrow(t1)), l=1, r=ncol(t1))

grid.draw(t1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中使用For循环将元素添加到列表

来自分类Dev

Pandoc过滤器将脚注添加到链接

来自分类Dev

使用指令将多行项目添加到表中

来自分类Dev

使用多行语法将路径添加到PATH

来自分类Dev

在R中使用facet_wrap时,将水平线(或文本)添加到单个箱线图中

来自分类Dev

在块中使用form_for时,将错误的ID添加到link_to

来自分类Dev

在R中使用ggplot将参考线添加到条形图中

来自分类Dev

如何在R>中使用双Y轴将图例添加到ggplot

来自分类Dev

在R中使用imageMagick将白色矩形添加到图像底部

来自分类Dev

在R中使用sprintf将前导零添加到dataframe列

来自分类Dev

如何在R中使用reporteR将日期添加到docx文档?

来自分类Dev

使用Cowplot,ggarrange,gridextra或类似的东西将两个ggmap添加到同一图上

来自分类Dev

将列标题包装在gridExtra R中的tableGrob中

来自分类Dev

将列标题包装在gridExtra R中的tableGrob中

来自分类Dev

在C中使用for循环将数字添加到数组

来自分类Dev

将字体添加到jsf中使用的css

来自分类Dev

使用R绘制地图时将纹理添加到某些状态

来自分类Dev

使用Iterator循环时将项目添加到HashMap

来自分类Dev

使用XMLViews时将属性添加到rootNode

来自分类Dev

为什么在将事件添加到按钮时使用+ =?

来自分类Dev

使用AutoMapper时将日志添加到目标对象

来自分类Dev

在Java中使用Collectors.toMap时,如何跳过将条目添加到新地图的操作?

来自分类Dev

在watchOS中使用.listRowBackground时,如何将cornerRadius添加到SwiftUI列表单元格?

来自分类Dev

尝试在Colfusion中使用JavaScript将src属性添加到img标签时,为什么会出现错误?

来自分类Dev

使用多行动态将数据添加到折线图js

来自分类Dev

UITableViewCell选中标记被点击时添加到多行

来自分类Dev

使用R将底图添加到SpatialPointDataFrames

来自分类Dev

使用R将图例添加到绘图中

来自分类Dev

R使用groupby将行添加到数据框

Related 相关文章

  1. 1

    在R中使用For循环将元素添加到列表

  2. 2

    Pandoc过滤器将脚注添加到链接

  3. 3

    使用指令将多行项目添加到表中

  4. 4

    使用多行语法将路径添加到PATH

  5. 5

    在R中使用facet_wrap时,将水平线(或文本)添加到单个箱线图中

  6. 6

    在块中使用form_for时,将错误的ID添加到link_to

  7. 7

    在R中使用ggplot将参考线添加到条形图中

  8. 8

    如何在R>中使用双Y轴将图例添加到ggplot

  9. 9

    在R中使用imageMagick将白色矩形添加到图像底部

  10. 10

    在R中使用sprintf将前导零添加到dataframe列

  11. 11

    如何在R中使用reporteR将日期添加到docx文档?

  12. 12

    使用Cowplot,ggarrange,gridextra或类似的东西将两个ggmap添加到同一图上

  13. 13

    将列标题包装在gridExtra R中的tableGrob中

  14. 14

    将列标题包装在gridExtra R中的tableGrob中

  15. 15

    在C中使用for循环将数字添加到数组

  16. 16

    将字体添加到jsf中使用的css

  17. 17

    使用R绘制地图时将纹理添加到某些状态

  18. 18

    使用Iterator循环时将项目添加到HashMap

  19. 19

    使用XMLViews时将属性添加到rootNode

  20. 20

    为什么在将事件添加到按钮时使用+ =?

  21. 21

    使用AutoMapper时将日志添加到目标对象

  22. 22

    在Java中使用Collectors.toMap时,如何跳过将条目添加到新地图的操作?

  23. 23

    在watchOS中使用.listRowBackground时,如何将cornerRadius添加到SwiftUI列表单元格?

  24. 24

    尝试在Colfusion中使用JavaScript将src属性添加到img标签时,为什么会出现错误?

  25. 25

    使用多行动态将数据添加到折线图js

  26. 26

    UITableViewCell选中标记被点击时添加到多行

  27. 27

    使用R将底图添加到SpatialPointDataFrames

  28. 28

    使用R将图例添加到绘图中

  29. 29

    R使用groupby将行添加到数据框

热门标签

归档