On 06/01/17 10:31, Jim Lemon wrote:
Hi Dan,
This may help if your data is in the format below:
waffle.mat<-matrix(c(rep(NA,14),137,135,rep(NA,6),144,149,
rep(NA,3),150,152,159,157,154,
NA,163,164,164,161,162,165,164,rep(NA,5),179,173,173,
rep(NA,4),182,180,185,180,
rep(NA,6),197,190,rep(NA,8)),ncol=9)
waffle.col<-matrix("lightblue",ncol=9,nrow=8)
waffle.col[is.na(waffle.mat)]<-NA
waffle.border<-matrix("blue",ncol=9,nrow=8)
waffle.border[is.na(waffle.mat)]<-NA
library(plotrix)
# use a waffle plot
color2D.matplot(waffle.mat,cellcolors=waffle.col,border=waffle.border,
show.values=TRUE,xat=10,yat=10,xlab="",ylab="")
axis(1,at=1:8,labels=seq(130,200,by=10))
axis(2,at=1:8)
axis.break(1)
Being picky-picky-picky I would like to point out that Duncan's and
David's functions don't *quite* reproduce the picture in the pdf file
that the OP attached, when called with the data from that picture:
egdat <- c(137,135,144,149,150,152,159,157,154,163,164,164,
161,162,165,164,179,173,173,182,180,185,180,197,190)
myhist(egdat)
boxhist(egdat)
It's a matter of including the left or right endpoints in the bins.
Duncan's function needs to swap "<" and "<=" in the definition of "keep"
(and make a corresponding adjustment in the "|" clause, so as to look at
the last rather than the first break value).