# HG changeset patch # User Christian Lins # Date 1340808515 0 # Node ID e815cf20bab24752fd21120da5cfecd55e8951bd # Parent 2f922be407ea39c2a4ef2b7d288ecc3d83ba7ca7 Add point labels to W/Q curve flys-artifacts/trunk@4810 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 2f922be407ea -r e815cf20bab2 flys-artifacts/doc/conf/conf.xml --- a/flys-artifacts/doc/conf/conf.xml Wed Jun 27 13:45:55 2012 +0000 +++ b/flys-artifacts/doc/conf/conf.xml Wed Jun 27 14:48:35 2012 +0000 @@ -267,6 +267,7 @@ de.intevation.flys.exports.DeltaWtExporter de.intevation.flys.exports.fixings.FixDeltaWtGenerator de.intevation.flys.exports.fixings.FixLongitudinalGenerator + de.intevation.flys.exports.fixings.FixDerivedCurveGenerator de.intevation.flys.exports.ReportGenerator de.intevation.flys.exports.ReportGenerator diff -r 2f922be407ea -r e815cf20bab2 flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java Wed Jun 27 13:45:55 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java Wed Jun 27 14:48:35 2012 +0000 @@ -808,7 +808,7 @@ /** - * Create annotation that sticks to the second Y axis ("right"). + * Create annotation that sticks to the first Y axis ("left"). * @param area helper to calculate coordinates * @param pos one-dimensional position (distance from axis) * @param lineStyle the line style to use for the line. diff -r 2f922be407ea -r e815cf20bab2 flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java Wed Jun 27 13:45:55 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java Wed Jun 27 14:48:35 2012 +0000 @@ -11,13 +11,21 @@ import de.intevation.flys.exports.ChartGenerator; +import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; +import de.intevation.flys.jfree.FLYSAnnotation; import de.intevation.flys.jfree.JFreeUtil; import de.intevation.flys.jfree.StyledXYSeries; +import java.util.ArrayList; +import java.util.List; + import org.apache.log4j.Logger; +import org.jfree.chart.annotations.XYTextAnnotation; + import org.jfree.data.xy.XYSeries; + import org.w3c.dom.Document; public class FixWQCurveGenerator @@ -88,11 +96,8 @@ logger.debug("doSectorAverageOut"); QWD qwd = (QWD)aaf.getData(context); - if(qwd != null) { - XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc); - series.add(qwd.getQ(), qwd.getW()); - addAxisSeries(series, 0, visible); + addQWSeries(new QWD[] { qwd }, aaf, doc, visible); } else { logger.debug("doSectorAverageOut: qwd == null"); @@ -101,16 +106,11 @@ /** Add analysis event points to chart */ protected void doAnalysisEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) { - logger.debug("doAnalysisEventsOut"); + logger.debug("doAnalysisEventsOut"); - QWD[] qwds = (QWD[])aaf.getData(context); - if(qwds != null) { - XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc); - for(QWD qwd : qwds) { - series.add(qwd.getQ(), qwd.getW()); - } - - addAxisSeries(series, 0, visible); + QWD[] qwds = (QWD[])aaf.getData(context); + if(qwds != null) { + addQWSeries(qwds, aaf, doc, visible); } else { logger.debug("doAnalysisEventsOut: qwds == null"); @@ -145,7 +145,7 @@ doc, aaf.getFacetDescription(), 500, // number of samples - 0.0 , // start + 0.0 , // start func.getMaxQ()); // end addAxisSeries(series, 0, visible); @@ -165,11 +165,27 @@ protected void addQWSeries(QW[] qws, ArtifactAndFacet aaf, Document doc, boolean visible) { if(qws != null) { XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc); + List textAnnos = new ArrayList(); + for(QW qw : qws) { series.add(qw.getQ(), qw.getW()); + + StringBuilder label = new StringBuilder(); + label.append(qw.getDate()); + label.append(" "); + label.append(qw.getDescription()); + + XYTextAnnotation anno = new CollisionFreeXYTextAnnotation( + label.toString(), + qw.getQ(), + qw.getW()); + textAnnos.add(anno); } + FLYSAnnotation flysAnno = new FLYSAnnotation(null, null, null, doc); + flysAnno.setTextAnnotations(textAnnos); addAxisSeries(series, 0, visible); + addVisibleAnnotations(flysAnno); } }