corrections...
[iramuteq] / PrintRScript.py
index 7aa30d6..f4e20a1 100644 (file)
@@ -51,6 +51,8 @@ class PrintRScript :
 class chdtxt(PrintRScript) :
     pass
 
+def Rcolor(color) :
+    return str(color).replace(')', ', max=255)')
 
 class Alceste2(PrintRScript) :
     def doscript(self) :
@@ -458,10 +460,12 @@ def print_simi3d(self):
         movie = "'" + ffr(os.path.dirname(self.DictPathOut['RData'])) + "'"
     else :
         movie = 'NULL'
-    if self.section == 'chd_dist_quest' :
-        header = 'TRUE'
-    else :
-        header = 'FALSE'
+    
+    #if self.corpus.parametres['type'] == 'corpus' :
+    #    header = 'TRUE'
+    #else :
+    #    header = 'FALSE'
+    header = 'FALSE'
     txt += """
     dm<-read.csv2("%s",row.names=1,header = %s)
     load("%s")
@@ -779,7 +783,8 @@ class PrintSimiScript(PrintRScript) :
             txt += """
             et <- list()
             """
-            for i,et in enumerate(self.tableau.etline) :
+            print self.parametres
+            for i,et in enumerate(self.parametres['stars']) :
                 txt+= """
                 et[[%i]] <- c(%s)
                 """ % (i+1, ','.join(et[1:]))
@@ -908,3 +913,26 @@ class PrintSimiScript(PrintRScript) :
         self.add(txt)
         self.write()
 
+class WordCloudRScript(PrintRScript) :
+    def make_script(self) :
+        self.sources([self.analyse.parent.RscriptsPath['Rgraph']])
+        self.packages(['wordcloud'])
+        bg_col = Rcolor(self.parametres['col_bg'])
+        txt_col = Rcolor(self.parametres['col_text'])
+        txt = """
+        act <- read.csv2("%s", header = FALSE, row.names=1, sep='\t')
+        selected.col <- read.table("%s")
+        toprint <- as.matrix(act[selected.col[,1] + 1,])
+        rownames(toprint) <- rownames(act)[selected.col[,1] + 1]
+        maxword <- %i
+        if (nrow(toprint) > maxword) {
+            toprint <- as.matrix(toprint[order(toprint[,1], decreasing=TRUE),])
+            toprint <- as.matrix(toprint[1:maxword,])
+        }
+        open_file_graph("%s", width = %i, height = %i)
+        par(bg=rgb%s)
+        wordcloud(row.names(toprint), toprint[,1], scale=c(%f,%f), random.order=FALSE, colors=rgb%s)
+        dev.off()
+        """ % (ffr(self.analyse.pathout['actives_eff.csv']), ffr(self.analyse.pathout['selected.csv']), self.parametres['maxword'], ffr(self.parametres['graphout']), self.parametres['width'], self.parametres['height'], bg_col, self.parametres['maxcex'], self.parametres['mincex'], txt_col)
+        self.add(txt)
+        self.write()