用R绘制网格
来源:互联网 发布:多益 网络面试 编辑:程序博客网 时间:2024/05/02 02:37
1. 用grid包,下面展示其用法。
library(grid)dat <- data.frame(x = rep(seq(0, 0.8, 1/5), 5), y = rep(seq(0, 0.8, 1/5), each = 5), val = rnorm(25, 20, 5))# making relative values (%) to be used for color-gradiation in plotdat$rel <- 100 * dat$val / max(dat$val)# creating grey-tones relative to val -# maximum greytone is relative to the val-maximum# i use the reciprocal to get darker tones for higher values:dat$col<-paste("grey", 100 - round(dat$rel, 0), sep = "")# opening the graphic device and# setting up a viewport with borders:grid.newpage()vp1 <- viewport(x = 0.1, y = 0.1, w = 0.8, h = 0.8, just = c("left", "bottom"), name = "vp1")# plotting rectangles using x/y positionsgrid.rect(x=dat$x,y=dat$y,height=1/5,width=1/5,hjust=0,vjust=0,vp=vp1, gp=gpar(col=1, fill=as.character(dat$col)))
2. 输出为: