Как сделать постепенную цветную полосу для представления результатов анализа рисков в R?

Я хочу отобразить результаты анализа рисков, классифицированных по 4 уровням (отсутствие риска, низкий, умеренный и высокий риск) на постепенной цветовой полосе (зелено-желто-красный). Я думал о чем-то подобном (но я открыт для более хороших предложений.)
введите здесь описание изображения

Вход примерно такой

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

person Bents    schedule 06.02.2018    source источник
comment
Я ожидаю, что вы сможете адаптировать предыдущий ответ   -  person G5W    schedule 06.02.2018
comment
@ G5W Я новичок в R, я проверил и не могу понять. Может быть, у вас есть идея? Благодарность   -  person Bents    schedule 06.02.2018


Ответы (1)


Я постараюсь дать много деталей с моим ответом.

Я предполагаю, что вам нужна только цветная полоса, а не цветовая полоса, добавленная к какому-то другому графику. Это то, что создано ниже.

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, чтобы разместить его в другом месте.

Результат

Цветная полоса

person G5W    schedule 06.02.2018