gpt4 book ai didi

r - 数据表 R 中的调色板

转载 作者:行者123 更新时间:2023-12-04 03:47:52 25 4
gpt4 key购买 nike

好奇为什么我们不能在 datatables 上应用发散类型样式。

在下面的代码中,iris 没有 NA,为了简单起见,我想对 150 个条目应用发散方案。所有列都将获得应用于 Sepal.Length 等级的颜色,但按列执行它是微不足道的......

library(DT);library(colorspace);library(dplyr)
data(iris)
dt=datatable(iris)

for (x in colnames(iris)) {
if(x=='Species')next
dt=dt %>%
formatStyle(x, color = tolower(diverging_hsv(150)[rank(iris$Sepal.Length)]))
}

没有报告错误,但这不起作用

注意带有 NA 的不同数据集会弄乱颜色:

dt <- datatable(airquality) 

these=c('Wind','Ozone')
for (x in these) {
#v <- full_seq(unique(airquality[[x]]), .1)
v = airquality[[x]]
cs <- diverging_hsv(length(v))
dt <- dt %>%
formatStyle(x, backgroundColor = styleEqual(v, cs))
}

最佳答案

您似乎无法将值向量直接传递给 formatStyle() 的颜色参数,而是可以使用辅助函数 styleEqual()将值映射到颜色 1 到 1:

library(DT)
library(colorspace)
library(dplyr)
library(tidyr)

dt <- datatable(iris)

for (x in colnames(iris)) {
if (x == 'Species') next
v <- full_seq(unique(iris[[x]]), .1)
cs <- diverging_hsv(length(v))
dt <- dt %>%
formatStyle(x, color = styleEqual(v, cs))
}

关于r - 数据表 R 中的调色板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64851637/

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