From b6fc19e3a04fe6c8fc542d51392dff87fbe1a988 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Walter?= <juergen.walter@uni-wuerzburg.de>
Date: Wed, 9 May 2018 11:12:59 +0200
Subject: [PATCH] Added value result visualization for scatter plots

---
 .../tools/descartes/pavo/types/ScatterPlot.java | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

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 0fb13fe3..8eb5614e 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();
-- 
GitLab