1. 用grid包,下面展示其用法。
- library(grid)
- dat
- 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 plot
- dat$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
- just = c("left", "bottom"), name = "vp1")
- # plotting rectangles using x/y positions
- grid.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)))