X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=Rscripts%2Fafc_graph.R;h=ffca92ade3a1414086d3cd145ac2d854354ee4fa;hp=defdab181b1deb50e922890e60dd74bf9d2195d6;hb=7f5e0ba6ece181a04d872a7b6eeb2f13b33aa455;hpb=ea75400310e91c45b6a705119b2e33afc0933e3e diff --git a/Rscripts/afc_graph.R b/Rscripts/afc_graph.R index defdab1..ffca92a 100644 --- a/Rscripts/afc_graph.R +++ b/Rscripts/afc_graph.R @@ -31,6 +31,8 @@ tchi <- %s tchi.min <- %i tchi.max <- %i dirout <- '%s' +xminmax <- NULL +yminmax <- NULL xlab <- paste('facteur ', x, ' -') ylab <- paste('facteur ', y, ' -') @@ -58,10 +60,10 @@ if ( qui == 3 ) { } classes <- c(1:clnb) maxchi <- 1 - cex.par <- NULL + cex.par <- rep(taillecar/10, nrow(table.in)) } else { if ( what == 0 ) table.in <- afc$rowcoord - if ( what == 1 ) table.in <- afc$rowcrl*2 + if ( what == 1 ) table.in <- afc$rowcrl rownames(table.in) <- afc$rownames tablechi <- chistabletot rn.keep <- c() @@ -107,19 +109,6 @@ if ( qui == 3 ) { } } -# if (over) { -# rn <- rownames(table.in) -# rownames(table.in) <- 1:nrow(table.in) -# table.in <- unique(table.in) -# rn.keep <- as.numeric(rownames(table.in)) -# rownames(table.in) <- rn[rn.keep] -# tablechi <- tablechi[rn.keep,] -# if (qui==0) { -# cex.par <- cex.par[rn.keep] -# } else { -# cex.par <- NULL -# } -# } if (do.select.nb) { if (select.nb > nrow(table.in)) select.nb <- nrow(table.in) row.keep <- select_point_nb(tablechi, select.nb) @@ -139,7 +128,12 @@ if ( qui == 3 ) { } classes <- apply(tablechi, 1, which.max) maxchi <- apply(tablechi, 1, max) - + infp <- which(is.infinite(maxchi) & maxchi > 0) + if (length(infp)) { + maxchi[infp] <- NA + valmax <- max(maxchi, na.rm = TRUE) + maxchi[infp] <- valmax + 2 + } if (cex.txt) { #row.keep <- append(row.keep, rn.keep) #row.keep <- unique(row.keep) @@ -149,10 +143,16 @@ if ( qui == 3 ) { cex.par <- maxchi cex.par <- norm.vec(cex.par, tchi.min/10, tchi.max/10) } else { - cex.par <- NULL + cex.par <- rep(taillecar/10, nrow(table.in)) } } +if (is.null(xminmax)) { + xminmax <- c(min(table.in[,1], na.rm = TRUE) + ((max(cex.par)/10) * min(table.in[,1], na.rm = TRUE)), max(table.in[,1], na.rm = TRUE) + ((max(cex.par)/10) * max(table.in[,1], na.rm = TRUE))) + } + if (is.null(yminmax)) { + yminmax <- c(min(table.in[,2], na.rm = TRUE) + ((max(cex.par)/10) * min(table.in[,2], na.rm = TRUE)), max(table.in[,2], na.rm = TRUE) + ((max(cex.par)/10) * max(table.in[,2], na.rm = TRUE))) + } if (typegraph == 0) { @@ -163,11 +163,11 @@ if (typegraph == 0) { 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) + table.in <- stopoverlap(table.in, cex.par=cex.par, xlim = xminmax, ylim = yminmax) classes <- classes[table.in[,4]] cex.par <- cex.par[table.in[,4]] } - make_afc_graph(table.in, classes, clnb, xlab, ylab, cex.txt = cex.par) + make_afc_graph(table.in, classes, clnb, xlab, ylab, cex.txt = cex.par, xminmax = xminmax, yminmax = yminmax) } else {