gauge bar

value 값의 범위(0~20,20~40,40~90,90~100) 에 따라 다른색으로 그려지는 bar 형태를 표현하였습니다.

gauge <- function(value, L) {
    if (value <= 20) {
        C <- "#FF3636"
    }
    if (value <= 40 & value > 20) {
        C <- "#FF8224"
    }
    if (value <= 90 & value > 40) {
        C <- "#CFFF24"
    }
    if (value <= 100 & value > 90) {
        C <- "#489CFF"
    }
    plot(NULL, xlim = c(0, 100), ylim = c(-1, 20), yaxt = "n", ann = FALSE, 
        xaxt = "n", bty = "n")
    rect(0, 0, 100/2, 2, border = T)

    text(99/2, 0.3, paste(value, "%", sep = ""), cex = 2, pos = 4)
    text(50/2, 3, L, pos = 3, cex = 1.3)
    rect(0, 0, value/2, 2, col = C)

    for (i in seq(from = 10/2, to = 90/2, by = 10/2)) {
        segments(i, 0, i, 2, col = "#FFB2F5")
        text(i, 0.1, paste(i * 2, "%", sep = ""), cex = 0.6, pos = 1)
    }
}

gauge(95, "할일")

plot of chunk unnamed-chunk-1

gauge(20, "준비")

plot of chunk unnamed-chunk-1

gauge(75, "진행")

plot of chunk unnamed-chunk-1