diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/types/ScatterPlot.java b/tools.descartes.pavo/src/tools/descartes/pavo/types/ScatterPlot.java index 0fb13fe3ee290ecd43b4a2c9eb598830107683d8..8eb5614ec7a4a364b429413d3beb0a11e253de20 100644 --- a/tools.descartes.pavo/src/tools/descartes/pavo/types/ScatterPlot.java +++ b/tools.descartes.pavo/src/tools/descartes/pavo/types/ScatterPlot.java @@ -30,9 +30,13 @@ import java.awt.Color; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.ValueAxis; +import org.jfree.chart.plot.ValueMarker; import org.jfree.chart.plot.XYPlot; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; +import org.jfree.ui.RectangleAnchor; +import org.jfree.ui.TextAnchor; import tools.descartes.pavo.result.AbstractQuantitativeResult; import tools.descartes.pavo.result.ResultContainerPavo; @@ -63,9 +67,20 @@ public class ScatterPlot extends AbstractVisualizationType implements IVisualiza if (r instanceof SeriesResultPavo) { XYSeries series1 = new XYSeries(((SeriesResultPavo) r).getSeriesName()); for (Point p : ((SeriesResultPavo) r).getValues()) { - series1.add(p.getX(), p.getY()); + series1.add(p.getX(), p.getY()); } dataset.addSeries(series1); + } else if (r instanceof ValueResultPavo) { + ValueMarker marker = new ValueMarker(((ValueResultPavo) r).getValue()); + marker.setPaint(Color.green); + marker.setLabel(((ValueResultPavo) r).getName()); + marker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); + marker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); + ((XYPlot) chart.getPlot()).addRangeMarker(marker); + ValueAxis yAxis = ((XYPlot) chart.getPlot()).getRangeAxis(); + if (marker.getValue() > yAxis.getUpperBound()) { + yAxis.setRange(yAxis.getLowerBound(), marker.getValue() + 1); + } } } XYPlot plot = (XYPlot) chart.getPlot();