From 1cf08e808f00625382a6d6680917663bc4a79359 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Tue, 20 Apr 2010 09:52:27 +0000
Subject: [PATCH] LMS-1483 Cosmetic changes to graphs.

SVN: 15530
---
 screening/.classpath                          |  2 +-
 screening/etc/tabular-data-graph.properties   |  9 ++++++-
 .../generic/server/graph/HeatmapDataset.java  | 24 ++-----------------
 .../server/graph/TabularDataHeatmap.java      | 23 +++++++-----------
 4 files changed, 20 insertions(+), 38 deletions(-)

diff --git a/screening/.classpath b/screening/.classpath
index 830db2e622b..4f56ff96ea0 100644
--- a/screening/.classpath
+++ b/screening/.classpath
@@ -33,7 +33,7 @@
 	<classpathentry kind="lib" path="/libraries/csv/csv.jar" sourcepath="/libraries/csv/src.zip"/>
 	<classpathentry kind="lib" path="/libraries/mail/mail.jar"/>
 	<classpathentry kind="lib" path="/libraries/jfreechart/jcommon-1.0.16.jar"/>
-	<classpathentry kind="lib" path="/libraries/jfreechart/jfreechart-1.0.13.jar" sourcepath="/libraries/jfreechart/jfreechart-1.0.13-javadocs.zip">
+	<classpathentry kind="lib" path="/libraries/jfreechart/jfreechart-1.0.13.jar" sourcepath="/libraries/jfreechart/jfreechart-src.zip">
 		<attributes>
 			<attribute name="javadoc_location" value="jar:platform:/resource/libraries/jfreechart/jfreechart-1.0.13-javadocs.zip!/jfreechart-1.0.13-javadocs"/>
 		</attributes>
diff --git a/screening/etc/tabular-data-graph.properties b/screening/etc/tabular-data-graph.properties
index 04cb84acd09..61b7bdf9372 100644
--- a/screening/etc/tabular-data-graph.properties
+++ b/screening/etc/tabular-data-graph.properties
@@ -18,7 +18,7 @@ column-width = 300
 column-height = 200
 
 # The graphs shown per row
-graphs = scatter1, hist, heat, scatter2
+graphs = scatter1, hist, heat, heat2, scatter2
 
 # The properties for the first scatter plot
 scatter1.graph-type = scatterplot
@@ -38,6 +38,13 @@ heat.y-axis = WellName
 heat.column = InfectionIndex
 heat.title = Infection Index
 
+# The properties for the second heatmap
+heat2.graph-type = heatmap
+heat2.x-axis = WellName
+heat2.y-axis = WellName
+heat2.column = TotalCells
+heat2.title = Total Cells
+
 # The properties for the second scatter plot
 scatter2.graph-type = scatterplot
 scatter2.x-axis = TotalCells
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/HeatmapDataset.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/HeatmapDataset.java
index 52af2ea9b11..32326fcf2e2 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/HeatmapDataset.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/HeatmapDataset.java
@@ -16,8 +16,6 @@
 
 package ch.systemsx.cisd.openbis.dss.generic.server.graph;
 
-import java.util.List;
-
 import org.jfree.data.DomainOrder;
 import org.jfree.data.Range;
 import org.jfree.data.general.DatasetChangeListener;
@@ -30,11 +28,9 @@ import org.jfree.data.xy.XYZDataset;
  */
 public class HeatmapDataset implements XYZDataset
 {
-    DefaultXYZDataset wrappedDataset;
-
-    Range range;
+    private final DefaultXYZDataset wrappedDataset;
 
-    List<String> yLabels;
+    private Range range;
 
     public HeatmapDataset(DefaultXYZDataset dataset)
     {
@@ -57,22 +53,6 @@ public class HeatmapDataset implements XYZDataset
         this.range = range;
     }
 
-    /**
-     * The labels for the y axis.
-     */
-    public List<String> yLabels()
-    {
-        return yLabels;
-    }
-
-    /**
-     * Set the labels for the y axis.
-     */
-    public void setYLabels(List<String> yLabels)
-    {
-        this.yLabels = yLabels;
-    }
-
     // XYZDataset
     public Number getZ(int series, int item)
     {
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/TabularDataHeatmap.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/TabularDataHeatmap.java
index a25ea9023ad..50bb00596c9 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/TabularDataHeatmap.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/TabularDataHeatmap.java
@@ -24,7 +24,6 @@ import java.util.List;
 import org.jfree.chart.ChartFactory;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.axis.NumberAxis;
-import org.jfree.chart.axis.NumberTickUnit;
 import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.chart.renderer.LookupPaintScale;
@@ -85,8 +84,9 @@ public class TabularDataHeatmap extends AbstractTabularDataGraph<TabularDataHeat
     protected JFreeChart createDataChart(Dataset dataset)
     {
         JFreeChart chart = createHeatmap(getTitle(), // title
-                configuration.getXAxisColumn(), // x-axis label
-                configuration.getYAxisColumn(), // y-axis label
+                // don't use the use-provided label for the wells, just use a blank string
+                "", // x-axis label
+                "", // y-axis label
                 (HeatmapDataset) dataset, // data
                 PlotOrientation.HORIZONTAL, // plot orientation
                 false, // create legend?
@@ -106,19 +106,16 @@ public class TabularDataHeatmap extends AbstractTabularDataGraph<TabularDataHeat
             throw new IllegalArgumentException("Null 'orientation' argument.");
         }
         NumberAxis xAxis = new NumberAxis(xAxisLabel);
-        xAxis.setAutoRangeIncludesZero(false);
-        xAxis.setTickUnit(new NumberTickUnit(1.));
         NumberAxis yAxis = new NumberAxis(yAxisLabel);
-        yAxis.setAutoRangeIncludesZero(false);
 
         XYBlockRenderer renderer = new XYBlockRenderer();
-        renderer.setBlockAnchor(RectangleAnchor.BOTTOM_LEFT);
+        renderer.setBlockAnchor(RectangleAnchor.CENTER);
         PaintScale paintScale = getPaintScale(dataset);
         renderer.setPaintScale(paintScale);
 
         XYPlot plot = new XYPlot(dataset, xAxis, yAxis, null);
         plot.setOrientation(orientation);
-        plot.setForegroundAlpha(0.5f);
+        plot.setForegroundAlpha(1.f);
         plot.setRenderer(renderer);
         plot.setBackgroundPaint(Color.WHITE);
         plot.setRangeGridlinePaint(Color.BLACK);
@@ -143,13 +140,12 @@ public class TabularDataHeatmap extends AbstractTabularDataGraph<TabularDataHeat
      */
     private static PaintScale getPaintScale(HeatmapDataset dataset)
     {
-        LookupPaintScale paintScale = new LookupPaintScale();
         // Use the Color Brewer RdBu color scheme with 11 steps
         Range range = dataset.getRange();
+        LookupPaintScale paintScale =
+                new LookupPaintScale(range.getLowerBound(), range.getUpperBound(), Color.WHITE);
         double binMin = range.getLowerBound();
         double binStep = range.getLength() / 11;
-        // 0
-        paintScale.add(0, new Color(255, 255, 255));
         // 1
         paintScale.add(binMin, new Color(5, 48, 97));
         // 2
@@ -204,9 +200,8 @@ public class TabularDataHeatmap extends AbstractTabularDataGraph<TabularDataHeat
             } else
             {
                 Location loc = Location.tryCreateLocationFromMatrixCoordinate(line[xColumn]);
-                // transpose the x and y here
-                element.x = loc.getY();
-                element.y = loc.getX();
+                element.x = loc.getX();
+                element.y = loc.getY();
             }
             element.z = Double.parseDouble(line[zColumn]);
             if (false == areZBoundsInitialized)
-- 
GitLab