From ef33be772020693fb58876a8032182cf6ae5da96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Tue, 13 Apr 2010 20:49:39 +0000 Subject: [PATCH] - implemented automatically dotted of alignments containing only 0 and 1 --- .../impl/eval/AveragePRGraphEvaluator.java | 1 + .../exmo/align/impl/eval/GraphEvaluator.java | 6 ++++++ src/fr/inrialpes/exmo/align/util/GenPlot.java | 18 +++++++++++------- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java index fde5972e..9409b9c0 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java @@ -129,6 +129,7 @@ public class AveragePRGraphEvaluator extends GraphEvaluator { initCellSet(); if ( align2 == null ) return; //no increase of precisions for ( Cell c : align2 ) { + if ( invalid && c.getStrength() != 1. && c.getStrength() != 0. ) invalid = false; cellSet.add( new EvalCell( c, isCorrect( c, align1 ) ) ); } diff --git a/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java index f2611e2f..9fe2a6a5 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java @@ -67,6 +67,9 @@ public abstract class GraphEvaluator { protected SortedSet<EvalCell> cellSet = null; public Vector<Pair> points; + // By default result is invalid + public boolean invalid = true; + /** * Returns the points to display in a graph */ @@ -141,10 +144,13 @@ public abstract class GraphEvaluator { // Set the found cells in the sorted structure if ( al == null ) return; for ( Cell c : al ) { + if ( invalid && c.getStrength() != 1. && c.getStrength() != 0. ) invalid = false; cellSet.add( new EvalCell( c, isCorrect( c, ref ) ) ); } } + public boolean isValid() { return !invalid; } + public int nbCells() { if ( cellSet == null ) return 0; else return cellSet.size(); diff --git a/src/fr/inrialpes/exmo/align/util/GenPlot.java b/src/fr/inrialpes/exmo/align/util/GenPlot.java index f7c27521..e1a5e019 100644 --- a/src/fr/inrialpes/exmo/align/util/GenPlot.java +++ b/src/fr/inrialpes/exmo/align/util/GenPlot.java @@ -27,7 +27,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; import fr.inrialpes.exmo.align.impl.eval.GraphEvaluator; -import fr.inrialpes.exmo.align.impl.eval.PRGraphEvaluator; import fr.inrialpes.exmo.align.impl.eval.Pair; import fr.inrialpes.exmo.ontowrap.OntologyFactory; @@ -367,7 +366,7 @@ public class GenPlot { public void printPGFTex( Vector<Vector<Pair>> result ){ 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", "yellow" } ; + String colortable[] = { "black", "red", "green", "blue", "cyan", "magenta" } ; output.println("\\documentclass[11pt]{book}"); output.println(); output.println("\\usepackage{pgf}"); @@ -390,8 +389,11 @@ public class GenPlot { output.println("\\draw (-0.3,5) node[rotate=90] {$"+ylabel+"$}; "); output.println("\\draw (-0.3,10) node {1.}; "); output.println("% Plots"); + i = 0; for ( String m : listAlgo ) { - output.println("\\draw["+colortable[i%7]+"] plot[mark="+marktable[i%19]+"] file {"+m+".table};"); + output.print("\\draw["+colortable[i%6] ); + if ( !listEvaluators.get(i).isValid() ) output.print(",dotted"); + output.println("] plot[mark="+marktable[i%19]+"] file {"+m+".table};"); //,smooth i++; } @@ -399,10 +401,12 @@ public class GenPlot { output.println("% Legend"); i = 0; for ( String m : listAlgo ) { - output.println("\\draw["+colortable[i%7]+"] plot[mark="+marktable[i%19]+"] coordinates {("+((i%3)*3+1)+","+(-(i/3)*.8-1)+") ("+((i%3)*3+3)+","+(-(i/3)*.8-1)+")};"); + output.print("\\draw["+colortable[i%6] ); + if ( !listEvaluators.get(i).isValid() ) output.print(",dotted"); + output.println("] plot[mark="+marktable[i%19]+"] coordinates {("+((i%3)*3+1)+","+(-(i/3)*.8-1)+") ("+((i%3)*3+3)+","+(-(i/3)*.8-1)+")};"); //,smooth - output.println("\\draw["+colortable[i%7]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-.8)+") node {"+m+"};"); - output.printf("\\draw["+colortable[i%7]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-1.2)+") node {%1.2f};\n", listEvaluators.get(i).getGlobalResult() ); + output.println("\\draw["+colortable[i%6]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-.8)+") node {"+m+"};"); + output.printf("\\draw["+colortable[i%6]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-1.2)+") node {%1.2f};\n", listEvaluators.get(i).getGlobalResult() ); i++; } output.println("\\end{tikzpicture}"); @@ -442,7 +446,7 @@ public class GenPlot { } } - // 2010: THIS IS ONLY FOR TSV ET CA NE MARCHE PAS A + // 2010: THIS IS ONLY FOR TSV AND THIS DOES NOT WORK // IT IS SUPPOSED TO PROVIDE // List of algo // List of STEP + points -- GitLab