如果我了解您想要做什么,我认为热图可能会更好。在 R 中有不止一种方法可以做到这一点。ggplot2 的geom_tile 提供了一种非常好的方法来做到这一点,前提是您首先重塑数据:
# using http://www.free-ocr.com/ to OCR your image gives:
dat <- structure(list(FICO = c(640L, 650L, 660L, 670L, 680L, 690L, 700L,
710L, 720L, 730L, 740L, 750L, 760L, 770L, 780L, 790L, 800L, 810L,
820L, 830L), `1000` = c(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE), `1500` = c(FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE), `2000` = c(FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), `2500` = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), `3000` = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), `3500` = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), `4000` = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), `4500` = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), `5000` = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), `5500` = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)), .Names = c("FICO",
"1000", "1500", "2000", "2500", "3000", "3500", "4000", "4500",
"5000", "5500"), class = "data.frame", row.names = c(NA, -20L
))
# now melt that data
dat.m <- melt(dat, "FICO")
colnames(dat.m) <- c("FICO.Score", "Loan.Value", "p(loan)>0.50")
# and use ggplot with geom_tile to make a heatmap
gg <- ggplot(dat.m, aes(x=FICO.Score, y=Loan.Value))
gg <- gg + geom_tile(aes(fill=`p(loan)>0.50`), color="white")
gg <- gg + theme_bw()
gg <- gg + labs(x="", y="")
gg <- gg + theme(panel.border=element_blank())
gg <- gg + theme(panel.grid=element_blank())
gg