


conf.plot <- function( projection, pc.xray, projection.secondary=NULL,
                      pc.inds = c(1,2),
                      xlim=NULL, ylim=NULL, main = "", xlab="PC1", ylab="PC2",
                      hl.col=NULL, hl.ind=NULL, ablines=NULL,
                      mtext=NULL, mtext2=NULL, ... ) {

  
  if( is.null(projection.secondary) ) {
    projection.secondary = projection
    col.sec = densCols(projection[,pc.inds[1]], projection[,pc.inds[2]])
    projection = NULL
  }
  else {
    col.sec="grey90"
  }
    
  plot(projection.secondary[,pc.inds[1]], projection.secondary[,pc.inds[2]], type="p",
       main = main, xlab=xlab, ylab=ylab, xlim=xlim, ylim=ylim,
       col=col.sec, cex=.85,
       pch=20, ...)

  if( !is.null(projection) ) {
    points( projection[,pc.inds[1]], projection[,pc.inds[2]],
           col=densCols(projection[,pc.inds[1]], projection[,pc.inds[2]]),
           pch=20)
  }
    
  points( pc.xray$z[,pc.inds[1]], pc.xray$z[,pc.inds[2]], col = "black", pch = 16, cex = 1 )
  points( pc.xray$z[,pc.inds[1]], pc.xray$z[,pc.inds[2]], col="gray", pch = 16, cex = 0.4 )
  points( pc.xray$z[hl.ind, pc.inds[1]], pc.xray$z[hl.ind, pc.inds[2]], col = hl.col, pch = 16 )
  
  mtext(mtext, side=3, ad=1, cex=0.9, line=0.6)
  text(xlim[1], ylim[2]*0.95, mtext2, pos=4)

  #abline(v=mean(projection.secondary[,pc.inds[1]]), col="grey80", lty=2)

}

