flexdashboard中如何可以有三个以上的仪表扇区?
Flexdashboard允许为其仪表指定三个扇区:“危险”、“警告”和“成功”。我想用5个测量扇区来显示我的观测值位于哪个区间。我用alpha 0.2(80%)和0.01(99%)计算了置信区间,并用它定义了5个扇区:flexdashboard中如何可以有三个以上的仪表扇区?,r,flexdashboard,R,Flexdashboard,Flexdashboard允许为其仪表指定三个扇区:“危险”、“警告”和“成功”。我想用5个测量扇区来显示我的观测值位于哪个区间。我用alpha 0.2(80%)和0.01(99%)计算了置信区间,并用它定义了5个扇区: Sector 1 = c(min(value),lower_90_ci) Sector 2 = c(lower_90_ci,lower_80_ci) Sector 3 = c(lower_80_ci, upper_80_ci) Sector 4 = c(upper_80_ci,
Sector 1 = c(min(value),lower_90_ci)
Sector 2 = c(lower_90_ci,lower_80_ci)
Sector 3 = c(lower_80_ci, upper_80_ci)
Sector 4 = c(upper_80_ci, upper_90_ci)
Sector 5 = c(upper_90_ci, max(value))
这是flexdashboard中的标准仪表:
library(flexdashboard)
gauge(42, min = 0, max = 100, symbol = '%', gaugeSectors(
success = c(80, 100), warning = c(40, 79), danger = c(0, 39)
))
我认为这是不可能一蹴而就的。深入研究
resolvestics
函数可以看出,它需要三个扇区,并且非常不灵活:
function (sectors, min, max)
{
if (is.null(sectors)) {
sectors = sectors(success = c(min, max), warning = NULL,
danger = NULL, colors = c("success", "warning", "danger"))
}
if (is.null(sectors$success) && is.null(sectors$warning) &&
is.null(sectors$danger)) {
sectors$success <- c(min, max)
}
if (is.null(sectors$colors))
sectors$colors <- c("success", "warning", "danger")
customSectors <- list()
addSector <- function(sector, color) {
if (!is.null(sector)) {
if (!is.numeric(sector) || length(sector) != 2)
stop("sectors must be numeric vectors of length 2",
call. = FALSE)
customSectors[[length(customSectors) + 1]] <<- list(lo = sector[[1]],
hi = sector[[2]], color = color)
}
}
sectors$colors <- rep_len(sectors$colors, 3)
addSector(sectors$success, sectors$colors[[1]])
addSector(sectors$warning, sectors$colors[[2]])
addSector(sectors$danger, sectors$colors[[3]])
customSectors
}
<environment: namespace:flexdashboard>
功能(扇区、最小值、最大值)
{
如果(为空(扇区)){
扇区=扇区(成功=c(最小,最大),警告=空,
危险=NULL,颜色=c(“成功”,“警告”,“危险”))
}
如果(is.null(扇区$success)和is.null(扇区$warning)和
is.null(扇区$danger)){
扇区成功率如果意图在中间有最佳的范围,在上侧和下侧都有警告和危险,我尝试这样做:
gauge(value = 95, # For example
min = 0,
max = 100,
sectors = gaugeSectors(
success = c(20, 80),
warning = c(10, 90),
danger = c(0, 100)
)
)
您可能需要确保扇区覆盖整个范围(最小-最大)。范围内但不属于任何扇区的任何值都将使用默认颜色(成功)。谢谢!在使用gauge()定义颜色并将其作为变量传递给gaugeSectors(colors=c)之前,我还考虑了使用函数的解决方法(color1,color2,color3)-参数。