gpt4 book ai didi

r - 将 kableExtra 表与 ggplot2 元素结合起来

转载 作者:行者123 更新时间:2023-12-04 13:55:42 26 4
gpt4 key购买 nike

我有一个 ggplot2 元素和一个 KableExtra 表。是否可以将它们与拼凑、牛图或任何其他包组合成一个对象并将其打印在 rmarkdown 文档中?如果没有解决方案,是否有任何其他表格包,具有 html 或 latex 设计,我可以使用它来解决此问题?
是否可以使用自定义块 ( https://bookdown.org/yihui/rmarkdown-cookbook/custom-blocks.html ) 将这些元素连接在一起?我试过没有成功。
将表格作为 custom_annotation 添加到 ggplot 对我不起作用,因为我想向同一个元素添加许多表格和图。

> dt_example <- data.table(index = c('type', 'model', 'manufacturer', 'time', 'revolutions', 'element', 'fluid'), object = c('B12', 'Schullo', 'GM', '5 h', '54 k', 'XX', 'water'))
> dt_example
index object
1: type B12
2: model Schullo
3: manufacturer GM
4: time 5 h
5: revolutions 54 k
6: element XX
7: fluid water

kable_table <- dt_example %>%
kable(col.names = c('',''), format = 'html', table.attr = "style='width:30%;'") %>%
kable_styling() %>%
pack_rows('model', 1, 5, label_row_css = "background-color: #FBFBFB;") %>%
pack_rows('column', 6, 6, label_row_css = "background-color: #FBFBFB;") %>%
pack_rows('fluid', 7, 7, label_row_css = "background-color: #FBFBFB;")

kable_table
这给了我下表:
kable_table_output
ggplot 元素:
ggplot_element <- ggplot(mtcars,aes(x=mpg)) + geom_histogram(binwidth=5)

ggplot_element
它的输出:
ggplot2_output
组合的期望输出应该是:
enter image description here

最佳答案

答案是肯定的和否定的。也许。
我假设当您说“组合”时,您的意思是“并排显示”而不是“合并为一个 R 对象”。
使用纯 Markdown,答案是否定的,正如 here 所解释的那样:“Markdown 的格式化语法仅解决可以以纯文本形式表达的问题”。但是,正如您所暗示的,还有其他解决方案。原始 CSS 和 HTML 是两个。但是 CSS(以及在某种程度上,HTML)解决方案取决于显示您的内容的浏览器和提供它的服务器。某些浏览器不支持某些 CSS 元素,某些服务器会限制您可以执行的操作。来自 GitHub ,例如:“HTML 已经过清理,积极删除可能伤害您和您的亲属的东西——例如脚本标签、内联样式以及 class 或 id 属性”。
话虽如此,

---
title: "Untitled"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{css, echo=FALSE}
.rightColumn {display: inline-block; color: green;}
.leftColumn {display: inline-block; color: red;}
.columnContainer {
-webkit-column-count: 2; -moz-column-count: 2; column-count: 2;
-webkit-column-rule: 1px dotted #e0e0e0; -moz-column-rule: 1px dotted #e0e0e0;
column-rule: 1px dotted #e0e0e0;
}
```
```{css, echo=FALSE}
<div class="columnContainer">
```
```{r, echo=FALSE, class.output="leftColumn"}
print("Left column")
```
```{r, echo=FALSE, class.output="rightColumn"}
print("Right column")
```
```{css, echo=FALSE}
</div>
```
为我产生以下输出:
enter image description here
这表明您想要的东西原则上是可能的。不幸的是,markdown 文档的 CSS 层次结构很复杂(对我来说 - 我不是专家)而且我无法用 kable 复制这种效果。输出和两列中的图像。
更换 print("Right column")mtcars %>% head()产生了预期的效果,但 mtcars %>% kable()才不是。我无法在图像上取得任何进展。
我希望这有帮助。也许其他人可以提供最终的细节。

关于r - 将 kableExtra 表与 ggplot2 元素结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62989642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com