X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=Rscripts%2FRgraph.R;h=b0b555c5af815ffc3dee5dc917943cea6c1b6e97;hp=c38f0b44bc334fecc29ff2c25456451a5f223832;hb=7f5e0ba6ece181a04d872a7b6eeb2f13b33aa455;hpb=9fbe978a9b2734bd17d10721a44016cc0ac97153 diff --git a/Rscripts/Rgraph.R b/Rscripts/Rgraph.R index c38f0b4..b0b555c 100644 --- a/Rscripts/Rgraph.R +++ b/Rscripts/Rgraph.R @@ -43,7 +43,7 @@ PlotDendroCut <- function(chd,filename,reso,clusternb) { # dev.off() #} -PlotAfc2dCoul<- function(afc,chisqrtable,filename, what='coord',col=FALSE, axetoplot=c(1,2), deb=0,fin=0, width=900, height=900, quality=100, reso=200, parcex=PARCEX, xlab = NULL, ylab = NULL, xmin=NULL, xmax=NULL, ymin=NULL, ymax=NUL) { +PlotAfc2dCoul<- function(afc,chisqrtable,filename, what='coord',col=FALSE, axetoplot=c(1,2), deb=0,fin=0, width=900, height=900, quality=100, reso=200, parcex=PARCEX, xlab = NULL, ylab = NULL, xmin=NULL, xmax=NULL, ymin=NULL, ymax=NULL) { if (col) { if (what == 'coord') { rowcoord <- as.matrix(afc$colcoord) @@ -94,11 +94,10 @@ PlotAfc2dCoul<- function(afc,chisqrtable,filename, what='coord',col=FALSE, axeto open_file_graph(filename, width = width, height = height) par(cex=PARCEX) - table.in <- rowcoord[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 = c(xmin,xmax), ylim = c(ymin,ymax)) 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, xminmax=c(xmin,xmax), yminmax=c(ymin,ymax)) @@ -173,7 +172,7 @@ overlap <- function(x1, y1, sw1, sh1, boxes) { .Call("is_overlap",x11,y11,sw11,sh11,boxes1) } ######################################################## -stopoverlap <- function(x, cex.par = NULL) { +stopoverlap <- function(x, cex.par = NULL, xlim = NULL, ylim = NULL) { #from wordcloud library(wordcloud) tails <- "g|j|p|q|y" @@ -184,7 +183,7 @@ stopoverlap <- function(x, cex.par = NULL) { toplot <- NULL # plot.new() - plot(x[,1],x[,2], pch='') + plot(x[,1],x[,2], pch='', xlim = xlim, ylim = ylim) words <- rownames(x) if (is.null(cex.par)) { @@ -202,8 +201,6 @@ stopoverlap <- function(x, cex.par = NULL) { y1<- x[i,2] wid <- strwidth(words[i],cex=size[i]) ht <- strheight(words[i],cex=size[i]) - ht <- (ht + ht*.2) + .01 - wid <- (wid + wid*.1) + .01 isOverlaped <- TRUE while(isOverlaped){ if(!overlap(x1-.5*wid,y1-.5*ht,wid,ht, boxes)) { #&& @@ -428,13 +425,8 @@ create_afc_table <- function(x) { } make_afc_graph <- function(toplot, classes, clnb, xlab, ylab, cex.txt = NULL, leg = FALSE, cmd = FALSE, black = FALSE, xminmax=NULL, yminmax=NULL) { - if (is.null(xminmax)) { - xminmax <- c(min(toplot[,1], na.rm = TRUE) + (0.1 * min(toplot[,1], na.rm = TRUE)), max(toplot[,1], na.rm = TRUE) + (0.1 * max(toplot[,1], na.rm = TRUE))) - } - if (is.null(yminmax)) { - yminmax <- c(min(toplot[,2], na.rm = TRUE) + (0.1 * min(toplot[,2], na.rm = TRUE)), max(toplot[,2], na.rm = TRUE) + (0.1 * max(toplot[,2], na.rm = TRUE))) - } - rain <- rainbow(clnb) + + rain <- rainbow(clnb) compt <- 1 tochange <- NULL for (my.color in rain) {