X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=Rscripts%2Fafc_graph.R;h=defdab181b1deb50e922890e60dd74bf9d2195d6;hp=cc70625022cda697ae31972bec97799ce6db445e;hb=ea75400310e91c45b6a705119b2e33afc0933e3e;hpb=13666be5de5eeffbe63774c3c0aecd407b519ac6 diff --git a/Rscripts/afc_graph.R b/Rscripts/afc_graph.R index cc70625..defdab1 100644 --- a/Rscripts/afc_graph.R +++ b/Rscripts/afc_graph.R @@ -153,102 +153,6 @@ if ( qui == 3 ) { } } -#################################################@@ -#from wordcloud -overlap <- function(x1, y1, sw1, sh1, boxes) { - use.r.layout <- FALSE - if(!use.r.layout) - return(.overlap(x1,y1,sw1,sh1,boxes)) - s <- 0 - if (length(boxes) == 0) - return(FALSE) - for (i in c(last,1:length(boxes))) { - bnds <- boxes[[i]] - x2 <- bnds[1] - y2 <- bnds[2] - sw2 <- bnds[3] - sh2 <- bnds[4] - if (x1 < x2) - overlap <- x1 + sw1 > x2-s - else - overlap <- x2 + sw2 > x1-s - - if (y1 < y2) - overlap <- overlap && (y1 + sh1 > y2-s) - else - overlap <- overlap && (y2 + sh2 > y1-s) - if(overlap){ - last <<- i - return(TRUE) - } - } - FALSE -} - -.overlap <- function(x11,y11,sw11,sh11,boxes1){ - .Call("is_overlap",x11,y11,sw11,sh11,boxes1) -} - -stopoverlap <- function(x, cex.par = NULL) { -#from wordcloud - library(wordcloud) - tails <- "g|j|p|q|y" - rot.per <- 0 - last <- 1 - thetaStep <- .1 - rStep <- .5 - toplot <- NULL - -# plot.new() - plot(x[,1],x[,2], pch='') - - words <- rownames(x) - if (is.null(cex.par)) { - size <- rep(0.9, nrow(x)) - } else { - size <- cex.par - } - #cols <- rainbow(clnb) - boxes <- list() - for (i in 1:nrow(x)) { - rotWord <- runif(1)sqrt(.5)){ - print(paste(words[i], "could not be fit on page. It will not be plotted.")) - isOverlaped <- FALSE - } - theta <- theta+thetaStep - r <- r + rStep*thetaStep/(2*pi) - x1 <- x[i,1]+r*cos(theta) - y1 <- x[i,2]+r*sin(theta) - } - } - } - row.names(toplot) <- words[toplot[,4]] - return(toplot) -} -############################################################################### if (typegraph == 0) { @@ -256,6 +160,9 @@ if (typegraph == 0) { parcex <- taillecar/10 par(cex = parcex) if (over) { + table.in <- table.in[order(cex.par, decreasing = TRUE),] + classes <- classes[order(cex.par, decreasing = TRUE)] + cex.par <- cex.par[order(cex.par, decreasing = TRUE)] table.in <- stopoverlap(table.in, cex.par=cex.par) classes <- classes[table.in[,4]] cex.par <- cex.par[table.in[,4]]