--- /dev/null
+`printrepartition` <-function(positions, names, colors, styles, widths, corpusname, Xmin, T, doCumulative, structurepositions, strutnames, graphtitle, bande) {
+ options(scipen=1000)
+
+ linestyle = 1
+ linewidth = 1
+
+ if (length(positions) > length(colors)) stop("colors list size too small");
+ if (length(positions) > length(names)) stop("names list size too small");
+ if (length(positions) > length(styles)) stop("styles list size too small");
+ if (length(positions) > length(widths)) stop("widths list size too small");
+
+ # if (length(structurepositions) > length(strutnames)) stop("structure names list size too small");
+
+ doCumu <- (doCumulative == "true")
+
+ maxX = T
+ maxY = 0
+ draw = 0
+
+ # set maxX and maxY the ranges
+ if(!doCumu)
+ {
+ for(i in 1:length(names))
+ {
+ x = positions[[i]]
+ if(length(x) > 0)
+ {
+ d = density(x, bw=bande)
+ m = max(d[["y"]])
+ if(maxY < m)
+ maxY <- m
+ }
+ }
+ maxY=2*maxY
+ }
+ else
+ {
+ for(i in 1:length(names))
+ {
+ my <- length(positions[[i]])
+ if(maxY < my)
+ maxY <- my
+ }
+ }
+
+ # draw curves
+ for(i in 1:length(names))
+ {
+ #line styles and width update
+ linestyle = linestyle + 1
+ if(linestyle >= 6)
+ {
+ linestyle = 1
+ linewidth = linewidth+ 1
+ }
+ x = positions[[i]]
+ if(length(x) > 0)
+ {
+ y = 1:length(x)
+
+ y <- c( c(0), y , c(y[[length(x)]]) )
+ x <- c( c(x[[1]]), x , c(maxX) )
+
+ if(draw == 0)# first draw
+ {
+ if(doCumu)
+ {
+
+plot(x, y, type="s", xlab=paste("T = ", maxX), main = graphtitle, ylab="Occurrences", ylim=c(0, maxY), xlim=c(Xmin, maxX), pch=15, col=colors[i], lty=styles[i], lwd=widths[i], xaxs="i", yaxs="i")
+ }
+ else
+ {
+plot(density(x, bw=bande), type="l", xlab=paste("T = ", maxX), graphtitle, ylab="Density", ylim=c(0, maxY), xlim=c(Xmin, maxX), pch=15, col=colors[i], lty=styles[i], lwd=widths[i], xaxs="i", yaxs="i")
+ }
+ }
+ else #next draws
+ {
+ if(doCumu)
+ {
+points(x, y, type="s", pch=15, col=colors[i], lty=styles[i], lwd=widths[i])
+ }
+ else
+ {
+points(density(x, bw=bande), type="l", pch=15, col=colors[i], lty=styles[i], lwd=widths[i])
+ }
+ }
+ rm(y)
+ draw <- draw + 1
+ }
+ }
+
+ # draw legend
+ for(i in 1:length(names))
+ names[i] = paste(names[i], length(positions[[i]]))
+
+ if(draw > 0)
+ legend("topleft", names, inset = .02, col = colors, lty=styles, lwd=widths)
+
+ # draw hist of struct
+ y = c()
+ if(length(structurepositions) > 0)
+ {
+ for(i in 1:length(structurepositions))
+ {
+ y[i] <- maxY
+ text(structurepositions[[i]], maxY*0.70, strutnames[[i]], cex = .8, srt=-90, adj = c(0,0))
+ }
+ points(structurepositions, y, type="h", ylim=c(0, maxY), xlim=c(Xmin, maxX))
+ }
+}
+