- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个导出为 pdf 的简单 RMarkdown 文档,其中包含一个只有 2 列的 kablextra 表(见图)。我试图将两列的背景设置为蓝色阴影,其中高值用较深的颜色表示,低值用较浅的颜色表示。值的顺序不能更改,因为它们代表月度数字。当我尝试寻找解决方案时,我设法让列具有一些背景颜色(见图)。
library(kableExtra)
library(paletteer)
library(tidyverse)
#two vectors
column_1<-c(144, 189, 213, 231, 229, 235, 216, 221, 221, 200, 204, 236)
column_2<-c(83.7, 92.5, 87.6, 88.2, 80.5, 72.6, 66.7, 71.9, 66.7, 58.2, 72.1, 72.7)
#create dataframe
activity<-data.frame (column_1, column_2)
#create kableextra summary table
kbl(activity, booktabs = T, linesep = "", col.names = linebreak(c("Column 1", "Column 2")), align = "c", caption = "Summary Table") %>%
kable_styling(full_width = F) %>%
kable_styling(font_size = 12, position = "center") %>%
kable_styling(latex_options = "hold_position") %>%
column_spec(1, color = "black", background = paletteer_d("ggsci::blue_material")) %>%
column_spec(2, color = "white", background = spec_color(activity$column_1, end = 0.9, option = "viridis", direction = -1))
左列使用以下代码,正是我想要的颜色,但我无法正确突出显示值(高亮为深色,低亮为浅色 - 如上所述,我无法将低到高,因为它们是时间序列数据):
column_spec(1, color = "black", background = paletteer_d("ggsci::blue_material")) %>%
右栏按照我想要的方式突出显示高值和低值,但没有使用我想要的颜色! (工作中的人实际上不喜欢它!)
column_spec(2, color = "white", background = spec_color(activity$column_2, end = 0.9, option = "viridis", direction = -1)) %>%
是否可以在左列的代码中添加一个参数,使其像右列一样用较深的颜色突出显示高值,但不对列中的值进行排序?
感谢您花时间阅读我的帖子
问候
昏暗
最佳答案
您使用的 spec_color
函数没有提供不同调色板的选项,但它非常简单:
> spec_color
function(x, alpha = 1, begin = 0, end = 1,
direction = 1, option = "D",
na_color = "#BBBBBB", scale_from = NULL) {
if (is.null(scale_from)) {
x <- round(rescale(x, c(1, 256)))
} else {
x <- round(rescale(x, to = c(1, 256),
from = scale_from))
}
color_code <- viridisLite::viridis(256, alpha, begin, end, direction, option)[x]
color_code[is.na(color_code)] <- na_color
return(color_code)
}
<bytecode: 0x7fb1aae1a0a8>
<environment: namespace:kableExtra>
您可以使用您喜欢的调色板编写自己的替代方案:
spec_color2 <- function(x, alpha = 1, begin = 0, end = 1,
direction = 1, option = "D",
na_color = "#BBBBBB", scale_from = NULL,
palette = viridisLite::viridis(256, alpha, begin, end, direction, option)) {
n <- length(palette)
if (is.null(scale_from)) {
x <- round(scales::rescale(x, c(1, n)))
} else {
x <- round(scales::rescale(x, to = c(1, n),
from = scale_from))
}
color_code <- palette[x]
color_code[is.na(color_code)] <- na_color
return(color_code)
}
然后您的表格将使用此代码显示:
kbl(activity, booktabs = T, linesep = "", col.names = linebreak(c("Column 1", "Column 2")), align = "c", caption = "Summary Table") %>%
kable_styling(full_width = F) %>%
kable_styling(font_size = 12, position = "center") %>%
kable_styling(latex_options = "hold_position") %>%
column_spec(1, color = "black", background = spec_color2(activity$column_1, palette = paletteer_d("ggsci::blue_material"))) %>%
column_spec(2, color = "white", background = spec_color2(activity$column_2, palette = paletteer_d("ggsci::blue_material")))
关于r - kableextra 表列中的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70639647/
我正在将 kableExtra 库与 R Markdown 结合使用,我想向行标签(以及其他单元格的辅助标签)添加脚注。我怎样才能做到这一点 ? 下面的数据示例: library(kableExtra
我有一个导出为 pdf 的简单 RMarkdown 文档,其中包含一个只有 2 列的 kablextra 表(见图)。我试图将两列的背景设置为蓝色阴影,其中高值用较深的颜色表示,低值用较浅的颜色表示。
我正在创建一个包含超链接列的表格,但这些超链接很长,我想用长文本替换图像,单击它并在新选项卡中打开链接。 例如,使用这段代码 df = iris[c(1,51,101),] df$hyperlink
我刚刚学习了 KableExtra 并且知道如何使用 mutate() 有条件地格式化整个列,如使用 mutate 的文档中所述,例如: mutate( mpg = cell_spec(mpg,
我试图将度数 (º) 的符号放在一个表格中,用 kableExtra 制作它.我获得的符号与图像中的类似: 我只需要符号 (º) 而没有下面的行,如下所示: 我试过 $^\circ$并与 \\degr
我看了this question但给定的方法似乎不适用于脚注(参见 MWE)。我想知道如何使用 kableExtra 包在表格脚注中添加超链接。 knitr::kable(
我有一个很长的字符串,我想将其放入表格中,例如 100x 字母 A (AAA...)。如果这些字符串不适合表,我希望 kable 将其拆分为多行,而不是使这些字符串溢出,如图所示 here . 我注意
当我使用 kableExtra 进行 PDF 输出时,该表呈现精美,但如果程序中没有另一个非 kable 额外表,则会出现错误。还有其他人看到过这种行为吗?该文件看起来很好,但随后在 pandoc 中
我想使用 rmarkdown 创建 pdf。 PDF 应包含一个表格。该表应该有一个动态列标签。 选项卡标题应显示日历周。 但是,不显示日历周(例如 KW29),而是显示变量名称“kw0”。 我的错误
我正在寻找更改 kableExtra 表中的特定值。 这是一个例子。我创建了一个使用 kableExtra 输出的汇总统计表。统计数据基于 iris 数据集,我添加了一个 Year 变量。 iris
我在下面有一个表格,我想应用 ROW 级热图。 (1) 知道怎么做吗?现在,下面单行中的两个值的热图是相同的。 (2) 有没有办法让组列的标题不成 90 度角?现在所有的标题都是有角度的,但是对于组列
我正在使用 kableExtra为 longtable使用以下代码。 library(knitr) library(kableExtra) long_dt % add_header_above(c("
我正在尝试创建一个带有副标题和迷你图的表格。 我可以使用 kableExtra 包创建带有副标题的表格。我能够使用 formattable 和 sparkline 包创建一个带有迷你图的表格。 但是,
是否可以在 kableExtra 中格式化字幕? ?我想在编织到 HTML 时将表格的标题居中并加粗在 RMarkdown .我试图将 table 包裹在 CSS div 中文本居中的位置,但这并没有
我正在尝试使用非常受欢迎且非常棒的 kable 和 kableExtra 工具在 rmarkdown 文档和目标 HTML 输出中创建一个表格。 该表需要具有带超链接的单元格。虽然我可以将 URL 放
我想在性别和疾病之间做一个列联表。因为我将 R.markdown 用于 pdf。报告,我用 kableExtra自定义表格。当表格不是 data.frame 时,KableExtra 不能很好地制作表
有没有能力写个函数导出kable或 kableExtra基于 knitr 输出的不同格式的表格创造。 具体来说,我想要 format = "simple"为 .docx和 format = "html
我使用 kableExtra 创建了下表。我正在寻找一种可以在 c 列和 d 列之间添加垂直边框的方法(以分隔两个标题下的内容。)此外,是否有一种方法可以更改整个列中单元格的颜色(让说第三列?) li
嗨,我用 kableExtra 做了这张很棒的 table ,但我唯一的问题是行的高度并不总是相等。有没有人知道对此的补救措施? 我的表: 例如,如您所见,项目编号 22(第 6 行)的行具有比其他行
我将 R markdown 与 LaTeX 结合使用来创建 PDF 报告。为了生成表,我使用 kableExtra 包。 我想根据特定列中的值更改行的样式。我一直在尝试 cell_spec,但据我所知
我是一名优秀的程序员,十分优秀!