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