如何制作渐变色条来表示 R 中的风险分析结果?

How to make a gradual color bar for representation of risk analysis results in R?

我想在渐变色条(绿-黄-红)上绘制按 4 个级别(无风险、低、中等和高风险)分类的风险分析结果。 我考虑过这样的事情(但我愿意接受更好的建议。)

输入是这样的

results <- data.frame(matrix(nrow = 5,ncol = 0))
results$day <- c(1:5)
results$assessment <-c("Low","Moderate","High","Low","Moderate")

我会尽量在回答中提供很多细节。

我假设您想要只是颜色条而不是颜色条 添加到其他一些图表。这就是下面创建的。

0 设置

library(fields)     ## for the colorbar function

## create the palette
myPalette = colorRampPalette(c("green", "yellow", "orange", "red"))

1 创建一个空地块。

plot(0:1, 0:1, type="n", bty="n", xaxs="i",
    xaxt="n", yaxt="n", xlab="", ylab="")   

当你 运行 这样做时,你应该得到一个空图 - 没有轴,什么都没有。 x 和 y 的范围都是从 0 到 1。

2 创建彩条

colorbar.plot(0.5, 0.05, 1:100, col=myPalette(100),
    strip.width = 0.2, strip.length = 1.1)

3 添加坐标轴标签

axis(side=1, at=seq(0,1,1/3), tick=FALSE,
    labels=c("No Risk", "Low", "Moderate", "High Risk")) 

4 添加箭头。

arrows(0.7, 0.18, 0.7, 0.1, length=0, lwd=8)
arrows(0.7, 0.18, 0.7, 0.09, length=0.1, lwd=3, angle=45)

这有点坑爹。如果我把箭头中的线条做得粗一些,
箭头相当钝和丑陋。所以第一个arrows 语句形成一条没有箭头的粗线,第二个 使用细线并添加尖锐的箭头。

我有 0.7 处的箭头。调整 x 值以将其放置在其他位置。

结果