diff --git a/src/fr/inrialpes/exmo/align/util/GenPlot.java b/src/fr/inrialpes/exmo/align/util/GenPlot.java
index 580f8bcc9714885e1bff16889026b316034f9821..629012f75a4c814e1dfc129ad5641b57b6dda39f 100644
--- a/src/fr/inrialpes/exmo/align/util/GenPlot.java
+++ b/src/fr/inrialpes/exmo/align/util/GenPlot.java
@@ -20,7 +20,9 @@
  * USA.
  */
 
-/* This program evaluates the results of several ontology aligners in a row.
+/*
+ * This program evaluates the results of several ontology aligners and plot
+ * these results
 */
 package fr.inrialpes.exmo.align.util;
 
@@ -55,8 +57,7 @@ import gnu.getopt.Getopt;
 import fr.inrialpes.exmo.align.parser.AlignmentParser;
 
 /**
- * A basic class for synthesizing the alignment results of an algorithm by a
- * precision recall graph.
+ * A basic class for ploting the results of an evaluation.
  *
  * These graphs are however computed on averaging the precision recall/graphs
  * on test directories instead of recording the actual precision recall graphs
@@ -243,6 +244,8 @@ public class GenPlot {
 	// Vector<Pair> -> .
 	if ( type.equals("tsv") ){
 	    printTSV( toplot );
+	} else if ( type.equals("html") ) {
+	    printHTMLGGraph( toplot );
 	} else if ( type.equals("tex") ) {
 	    printPGFTex( toplot );
 	} else System.err.println("Flag -t "+type+" : not implemented yet");
@@ -435,8 +438,8 @@ public class GenPlot {
 		writer.println("%% Include in PGF tex by:\n");
 		writer.println("%% \\begin{tikzpicture}[cap=round]");
 		writer.println("%% \\draw[step="+(STEP/10)+"cm,very thin,color=gray] (-0.2,-0.2) grid ("+STEP+","+STEP+");");
-		writer.println("%% \\draw[->] (-0.2,0) -- (10.2,0) node[right] {$recall$}; ");
-		writer.println("%% \\draw[->] (0,-0.2) -- (0,10.2) node[above] {$precision$}; ");
+		writer.println("%% \\draw[->] (-0.2,0) -- (10.2,0) node[right] {$"+xlabel+"$}; ");
+		writer.println("%% \\draw[->] (0,-0.2) -- (0,10.2) node[above] {$"+ylabel+"$}; ");
 		writer.println("%% \\draw plot[mark=+,smooth] file {"+algo+".table};");
 		writer.println("%% \\end{tikzpicture}");
 		writer.println();
@@ -451,6 +454,60 @@ public class GenPlot {
 	}
     }
 
+    /**
+     * This does average plus generate the call for Google Chart API
+     *
+     */
+    public void printHTMLGGraph( Vector<Vector<Pair>> result ){
+	output.print("<img src=\"http://chart.apis.google.com/chart?");
+	output.print("chs=600x500&cht=lxy&chg=10,10&chof=png");
+	output.print("&chxt=x,x,y,y&chxr=0,0.0,1.0,0.1|2,0.0,1.0,0.1&chxl=1:|"+xlabel+"|3:|"+ylabel+"&chma=b&chxp=1,50|3,50&chxs=0N*sz1*|2N*sz1*");
+	output.print("&chd=t:"); // data
+	boolean firstalg = true;
+	for( Vector<Pair> table : result ) {
+	    if ( !firstalg ) output.print("|");
+	    firstalg = false;
+	    boolean firstpoint = true;
+	    String Yval = "|";
+	    for( Pair p : table ) {
+		if ( !firstpoint ) {
+		    output.print(",");
+		    Yval += ",";
+		}
+		firstpoint = false;
+		Yval += String.format("%1.2f", p.getY()*10);
+		if ( debug > 1 ) System.err.println( " >> "+p.getX()+" - "+p.getY() );
+		output.printf( "%1.2f", p.getX()*10 );
+	    }
+	    output.print( Yval );
+	}
+	output.print("&chdl="); // labels
+	int i = 0;
+	//String marktable[] = { "+", "*", "x", "-", "|", "o", "asterisk", "star", "oplus", "oplus*", "otimes", "otimes*", "square", "square*", "triangle", "triangle*", "diamond", "diamond*", "pentagon", "pentagon*"};
+	//String colortable[] = { "black", "red", "green", "blue", "cyan", "magenta" };
+	String colortable[] = { "000000", "ffff00", "ff00ff", "00ffff", "ff0000", "00ff00", "0000ff", "888888", "8888ff", "88ff88", "ff8888", "8800ff", "88ff00", "008800", "ff8800", "0088ff", "000088","ff0088","00ff88", "888800", "880088", "008888", "880000", "008800", "000088", "88ffff", "ff88ff", "ffff88" };
+	String style = "";
+	String color = "";
+	for ( String m : listAlgo ) {
+	    if ( i > 0 ) {
+		output.print( "|" );
+		color += ",";
+		style += "|";
+	    }
+	    output.print( m );
+	    color += colortable[i%28];
+	    if ( !listEvaluators.get(i).isValid() ) {
+		style += "2";
+	    } else {
+		style += "2,6,3";
+	    }
+	    i++;
+	}
+	output.print("&chco="+color); // colors
+	output.print("&chls="+style); // linestyle
+	output.println("&chds=0,10\"/>");
+    }
+
     // 2010: THIS IS ONLY FOR TSV AND THIS DOES NOT WORK
     // IT IS SUPPOSED TO PROVIDE
     // List of algo
@@ -473,7 +530,7 @@ public class GenPlot {
     public void usage() {
 	System.out.println("usage: GenPlot [options]");
 	System.out.println("options are:");
-	System.out.println("\t--type=tsv|tex|(html|xml) -t tsv|tex|(html|xml)\tSpecifies the output format");
+	System.out.println("\t--type=tsv|tex|html(|xml) -t tsv|tex|html(|xml)\tSpecifies the output format");
 	System.out.println("\t--graph=class -g class\tSpecifies the class of Evaluator to be used");
 	System.out.println("\t--evaluator=class -e class\tSpecifies the class of GraphEvaluator (plotter) to be used");
 	System.out.println("\t--list=algo1,...,algon -l algo1,...,algon\tSequence of the filenames to consider");