我正在尝试使用kableExtra将图像插入到表中。我知道我必须使用spec_image
来指定大小。然而,图像有不同的尺寸,一个尺寸不会适合所有人。
如何重新缩放每个图像。我尝试使用magick
将图像维度转换为向量,并使用如下代码:spec_image(imagepaths, image_heights, image_widths)
,但它不起作用。
其次,我希望文本对齐,使其在图像的中间。valign
没有给予期望的结果。
会很感激你的帮助。
---
title: "Untitled"
output:
bookdown::pdf_document2:
extra_dependencies: ["float"]
template: NULL
keep_tex: true
number_sections: false
latex_engine: pdflatex
header-includes:
- \usepackage{graphicx}
---
```{r, echo = FALSE}
library(kableExtra)
first_column <- c("mol1.png", "mol2.png", "mol3.png")
second_column <- c('2', '3', '4')
third_column <- c('1', '4', '7')
df <- data.frame(mol = "",
second = second_column,
third = third_column)
df %>% kbl(booktabs = T, linesep = "", caption = "Test" ,valign = 't') %>%
kable_paper(full_width = F) %>%
column_spec(1, image = spec_image(first_column, 200, 200))
![](https://i.stack.imgur.com/pmNRg.png)
1条答案
按热度按时间pu82cl6c1#
这将让你通过垂直对齐非图像单元格中的文本来实现这一目标。
这将有助于理解您希望如何重新缩放图像,并在问题中包含图像的示例,以便问题可重现。是否要保留图形的原始纵横比?还是原来的尺寸?
看起来好像KableExtra使图像大小相同,这对最终获得一致的表是有意义的。
这里有一个链接,可能用途:Multiple Kable Tables with Images