## noheader

Centered around an opposite point, say anchor
Note that everything other than the "main" section is simply (1 - perc[section])

anchor <- 0.25
volumne.remaining <- DT[, 1-max(perc)]
start <- anchor -  (volumne.remaining / 2)

========================================



  DT[, ymax := cumsum(perc) , by=byCols]
  DT[, ymin := c(0, head(ymax, -1)) , by=byCols]
  DT[, ymid := mean(c(ymax, ymin)), by=list(ymax, ymin)]
###
DT[, yshift := 1/2 * (max(perc, na.rm=TRUE)), by=byCols]
DT[, ymin := ymin + yshift]
DT[, ymax := ymax + yshift]
{
   facetFormula <- as.formula(paste0(".~", pasteC(byCols, C="+")))
  P <-
   ggplot(DT, aes(start=1)) +
         # Border between sections
         geom_rect(aes_string(ymax="ymax", ymin="ymin", xmax="xmax", xmin="xmin"), color="grey30", show_guides=FALSE) +
         # Actual fill
         geom_rect(aes_string(ymax="ymax", ymin="ymin", xmax="xmax", xmin="xmin", fill=group), show_guide=TRUE) +
         # Label for precentages
         geom_text(aes(y=ymid, x=xmid, label=perc.ch),  size=rel(3.5)) + 
         xlim( c(0, DT[, max(xmax, na.rm=TRUE)]) ) + 
#         ylim( c(0, 1)) + 
         labs(title=title, fill=group.nm, x="", y="") 
     P <- P + geom_text(aes(label=.total.char), x=0, y=0, guides=FALSE, size=rel(4), data=DT.total)
     P <- P + facet_grid(facetFormula)
  P + coord_polar(theta="y", start=pol.start, direction=pol.direction) 

}
