diff --git a/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/AbstractNopQueryConnector.java b/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/AbstractNopQueryConnector.java
index fda417c8ce29610f565afe6bb322812b53f937f9..c6c7f0d2719aa0dcee3c058c6c1f87fa02305165 100644
--- a/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/AbstractNopQueryConnector.java
+++ b/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/AbstractNopQueryConnector.java
@@ -98,6 +98,16 @@ public class AbstractNopQueryConnector extends AbstractOSGiQueryConnector {
 
 		return probe;
 	}
+	
+	protected Probe createHeatSeriesProbe(final DomainFactory domainFactory) {
+		final Probe probe = domainFactory.createProbe();
+
+		probe.setMetricName("heatSeriesMetric");
+		log.debug("Appending probe " + probe.getMetricName());
+
+		return probe;
+	}
+	
 
 	protected Probe createStringProbe(final DomainFactory domainFactory) {
 		final Probe probe = domainFactory.createProbe();
diff --git a/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/ModelStructureQueryConnectorImpl.java b/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/ModelStructureQueryConnectorImpl.java
index 72d1c7e89cc8a412359d3e070625634ea05e3798..e4ba99b6ad6dd4a60c38c5a16129db15976fbf8d 100644
--- a/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/ModelStructureQueryConnectorImpl.java
+++ b/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/ModelStructureQueryConnectorImpl.java
@@ -96,6 +96,7 @@ public class ModelStructureQueryConnectorImpl extends AbstractNopQueryConnector
 			final Probe eProbe = createListOfContinuousSeriesProbe(domainFactory);
 			final Probe fProbe = createOnlineSeriesProbe(domainFactory);
 			final Probe gProbe = createPieSeriesProbe(domainFactory);
+			final Probe hProbe = createHeatSeriesProbe(domainFactory);
 			entity.getProbes().add(aProbe);
 			entity.getProbes().add(bProbe);
 			entity.getProbes().add(cProbe);
@@ -103,6 +104,8 @@ public class ModelStructureQueryConnectorImpl extends AbstractNopQueryConnector
 			entity.getProbes().add(eProbe);
 			entity.getProbes().add(fProbe);
 			entity.getProbes().add(gProbe);
+			entity.getProbes().add(hProbe);
+			
 				
 			for (int i = 0; i < 3; i++) {
 				final Probe decimalProbe = createDecimalProbe(domainFactory, i + 1);
diff --git a/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/PerformanceMetricsQueryConnectorImpl.java b/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/PerformanceMetricsQueryConnectorImpl.java
index c97358b2af120a1b824fab77bba48dc850be8f54..a65fb74f16a715fda72ffdb79f831c65e3aa81ba 100644
--- a/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/PerformanceMetricsQueryConnectorImpl.java
+++ b/connectors/tools.descartes.dql.connector.nop/src/tools/descartes/dql/connector/nop/PerformanceMetricsQueryConnectorImpl.java
@@ -142,7 +142,9 @@ public class PerformanceMetricsQueryConnectorImpl extends AbstractNopQueryConnec
 					} else if (probe.getMetricName().startsWith("differenceSeries")) {
 						rt.setResult(createDifferenceSeriesResult(probe));
 					} else if(probe.getMetricName().startsWith("pieSeries")){
-						rt.setResult(createPieResult(probe));					
+						rt.setResult(createPieResult(probe));	
+					} else if(probe.getMetricName().startsWith("heatSeries")){
+						rt.setResult(createHeatSeriesResult(probe));	
 					} else if (probe.getMetricName().startsWith("metricWithStat")) {
 						System.out.println("No Metric with statTypes yet");
 					} else {
@@ -191,6 +193,8 @@ public class PerformanceMetricsQueryConnectorImpl extends AbstractNopQueryConnec
 		
 		return result;
 	}
+	
+	
 
 	private Result createOnlineResult(Probe probe) {
 		final OnlineResult outerResult = domainFactory.createOnlineResult();
@@ -224,6 +228,7 @@ public class PerformanceMetricsQueryConnectorImpl extends AbstractNopQueryConnec
 	}
 	
 	
+	
 
 	private Result createStringResult(Probe probe) {
 		final StringResult result = domainFactory.createStringResult();
@@ -291,6 +296,52 @@ public class PerformanceMetricsQueryConnectorImpl extends AbstractNopQueryConnec
 		return result;
 	}
 	
+	
+	private Result createHeatSeriesResult(Probe probe)
+	{
+		final ResultList<ContinuousSeriesResult> result = domainFactory.createResultList(ContinuousSeriesResult.class);
+		result.setValid(true);
+		
+		final ContinuousSeriesResult c1 = domainFactory.createContinuousSeriesResult();
+		final ContinuousSeriesResult c2 = domainFactory.createContinuousSeriesResult();
+		final ContinuousSeriesResult c3 = domainFactory.createContinuousSeriesResult();
+		c1.setValid(true);
+		c2.setValid(true);
+		c3.setValid(true);
+		c1.setYAxisDescription("y");
+		c1.setXAxisDescription("x");
+		c2.setYAxisDescription("y");
+		c2.setXAxisDescription("x");
+		c3.setYAxisDescription("y");
+		c3.setXAxisDescription("x");
+		for(int i = 0; i < 10000; i++)
+		{
+			SeriesResultElement elemX = domainFactory.createSeriesResultElement();
+			SeriesResultElement elemY = domainFactory.createSeriesResultElement();
+			SeriesResultElement elemZ = domainFactory.createSeriesResultElement();
+			double x = i/100 - 50;
+			double y = i - (i / 100) * 100 - 50;
+			double z = Math.sin(Math.sqrt(x * x + y * y) / 5.0);
+		
+			elemX.setX(BigDecimal.valueOf(x));
+			elemX.setY(BigDecimal.valueOf(x));
+			elemY.setX(BigDecimal.valueOf(y));
+			elemY.setY(BigDecimal.valueOf(y));
+			elemZ.setX(BigDecimal.valueOf(z));
+			elemZ.setY(BigDecimal.valueOf(z));
+			c1.getElements().add(elemX);
+			c2.getElements().add(elemY);
+			c3.getElements().add(elemZ);
+			
+		}
+		result.getResults().add(c1);
+		result.getResults().add(c2);
+		result.getResults().add(c3);
+		
+		return result;
+	}
+	
+	
 	private Map<String, String> getDoFMap() {
 		if (dofMap == null)
 			dofMap = ModelStructureQueryConnectorImpl.getDofMap();
diff --git a/lang/tools.descartes.dql.lang/xtend-gen/tools/descartes/dql/lang/generator/.gitignore b/lang/tools.descartes.dql.lang/xtend-gen/tools/descartes/dql/lang/generator/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/GraphicsEngine.java b/tools.descartes.pavo/src/tools/descartes/pavo/GraphicsEngine.java
index 6667fddc081e822c27e0ecb50c4d3e28ceadb297..59b92e7ad1c952d89a7e9282e4db1ada8e4c6248 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/GraphicsEngine.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/GraphicsEngine.java
@@ -39,7 +39,6 @@ import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTabbedPane;
-import javax.swing.JTextArea;
 
 import org.jfree.ui.RefineryUtilities;
 
@@ -76,6 +75,7 @@ public class GraphicsEngine {
 		interpreteEntityMapping(currentMapping, tabbedPane);
 		mainFrame.pack();
 		mainFrame.setVisible(true);
+		mainFrame.setMinimumSize(new Dimension(mainFrame.getWidth()+100, mainFrame.getHeight()));
 		mainFrame.setResizable(false);
 		mainFrame.toFront();
 		RefineryUtilities.centerFrameOnScreen(mainFrame);
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/controller/ExportController.java b/tools.descartes.pavo/src/tools/descartes/pavo/controller/ExportController.java
index 964956e6e2220f4812bc8fa66695f46de8f40ccf..15250ff42b0e01e4ffa121047bfef3398f11fcdc 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/controller/ExportController.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/controller/ExportController.java
@@ -26,48 +26,19 @@
  */
 package tools.descartes.pavo.controller;
 
-import java.awt.Color;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.WindowEvent;
 import java.awt.event.WindowListener;
 import java.io.File;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
 import javax.swing.JFileChooser;
-import javax.swing.event.DocumentEvent;
-import javax.swing.event.DocumentListener;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
 import org.jfree.chart.ChartUtilities;
 import org.jfree.chart.JFreeChart;
-import org.jfree.chart.plot.Marker;
-import org.jfree.chart.plot.ValueMarker;
-import org.jfree.ui.RectangleAnchor;
-
-import tools.descartes.dql.models.mapping.domain.AbstractSeriesResult;
-import tools.descartes.dql.models.mapping.domain.SeriesResultElement;
-import tools.descartes.pavo.types.BarChart;
-import tools.descartes.pavo.types.BoxPlot;
-import tools.descartes.pavo.types.DifferenceChart;
-import tools.descartes.pavo.types.HeatMap;
-import tools.descartes.pavo.types.IVisualizationType;
-import tools.descartes.pavo.types.LineChart;
-import tools.descartes.pavo.types.PieChart;
-import tools.descartes.pavo.types.ScatterPlot;
 import tools.descartes.pavo.view.ExportDialogFrame;
 import tools.descartes.pavo.view.View;
-import tools.descartes.pavo.helper.MathHelper;
 import tools.descartes.pavo.result.*;
 
 /**
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/controller/VisualizationController.java b/tools.descartes.pavo/src/tools/descartes/pavo/controller/VisualizationController.java
index a87cc472cc71f9713771fc39ab7a9ddebf54d100..a7c9a60c19e03d206404aa07d827db6a00dd0215 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/controller/VisualizationController.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/controller/VisualizationController.java
@@ -29,22 +29,15 @@ package tools.descartes.pavo.controller;
 import java.awt.Color;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.awt.event.WindowEvent;
-import java.awt.event.WindowListener;
-import java.io.File;
-import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
-import javax.swing.JFileChooser;
-
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.common.util.EList;
-import org.jfree.chart.ChartUtilities;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.plot.Marker;
 import org.jfree.chart.plot.ValueMarker;
@@ -60,7 +53,6 @@ import tools.descartes.pavo.types.IVisualizationType;
 import tools.descartes.pavo.types.LineChart;
 import tools.descartes.pavo.types.PieChart;
 import tools.descartes.pavo.types.ScatterPlot;
-import tools.descartes.pavo.view.ExportDialogFrame;
 import tools.descartes.pavo.view.View;
 import tools.descartes.pavo.helper.MathHelper;
 import tools.descartes.pavo.result.*;
@@ -361,8 +353,10 @@ public class VisualizationController {
 		} else {
 			view.switchToHeat();
 			//Hier noch die jeweiligen benennungen der Series in die ComboBoxen und dannach noch einmal das update im view für die combos und deren werte
-			String[] names = {result.getResults().get(0).getQueryableElement(), result.getResults().get(1).getQueryableElement(), result.getResults().get(2).getQueryableElement()};
+			String[] names = {result.getResults().get(0).getQueryableElement()+"." + result.getResults().get(0).getMetric(), result.getResults().get(1).getQueryableElement()+"." +result.getResults().get(1).getMetric(), result.getResults().get(2).getQueryableElement()+ "." + result.getResults().get(2).getMetric()};
+			view.setBlockerHeat(true);
 			view.fillHeatCombos(names);
+			view.setBlockerHeat(false);
 			view.updateCurrentXYZ();
 		}
 
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/helper/MathHelper.java b/tools.descartes.pavo/src/tools/descartes/pavo/helper/MathHelper.java
index d85b0a3d7336315e8c78debaccce10492adb3ee5..249a6db4cde61e4f37bfbd1aea21caf0555c61fe 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/helper/MathHelper.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/helper/MathHelper.java
@@ -26,47 +26,8 @@
  */
 package tools.descartes.pavo.helper;
 
-import java.awt.Color;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.WindowEvent;
-import java.awt.event.WindowListener;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
 
-import javax.swing.JFileChooser;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.jfree.chart.ChartUtilities;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.plot.Marker;
-import org.jfree.chart.plot.ValueMarker;
-import org.jfree.ui.RectangleAnchor;
-
-import tools.descartes.dql.models.mapping.domain.ConfidenceInterval;
-import tools.descartes.dql.models.mapping.domain.ContinuousSeriesResult;
-import tools.descartes.dql.models.mapping.domain.DecimalResult;
-import tools.descartes.dql.models.mapping.domain.DiscreteSeriesResult;
-import tools.descartes.dql.models.mapping.domain.OnlineResult;
-import tools.descartes.dql.models.mapping.domain.Result;
-import tools.descartes.dql.models.mapping.domain.ResultList;
-import tools.descartes.dql.models.mapping.domain.SeriesResultElement;
-import tools.descartes.dql.models.mapping.domain.StatType;
-import tools.descartes.dql.models.mapping.domain.StringResult;
-import tools.descartes.pavo.result.AbstractQuantitativeResult;
-import tools.descartes.pavo.result.ResultContainerPavo;
-import tools.descartes.pavo.types.BarChart;
-import tools.descartes.pavo.types.BoxPlot;
-import tools.descartes.pavo.types.DifferenceChart;
-import tools.descartes.pavo.types.HeatMap;
-import tools.descartes.pavo.types.LineChart;
-import tools.descartes.pavo.types.PieChart;
-
 /**
  * class to visualize all probes of one resource into one pane. These panes are
  * merged within the graphicsengine
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/result/ResultContainerPavo.java b/tools.descartes.pavo/src/tools/descartes/pavo/result/ResultContainerPavo.java
index 112179de4b27675ba99383ad1b1b75b21afad8aa..e31a7de398cd714ce9e047f21325ab43de48e149 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/result/ResultContainerPavo.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/result/ResultContainerPavo.java
@@ -29,9 +29,6 @@ package tools.descartes.pavo.result;
 import java.util.LinkedList;
 import java.util.List;
 
-import tools.descartes.dql.models.mapping.domain.ContinuousSeriesResult;
-import tools.descartes.dql.models.mapping.domain.Result;
-
 public class ResultContainerPavo {
 	
 	
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/result/SeriesResultPavo.java b/tools.descartes.pavo/src/tools/descartes/pavo/result/SeriesResultPavo.java
index ea546b7c4fd209ce66c4433e07f693c51036818b..4fc784e09a3bf9509ba76547069001117c11c941 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/result/SeriesResultPavo.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/result/SeriesResultPavo.java
@@ -28,7 +28,6 @@ package tools.descartes.pavo.result;
 
 import java.util.List;
 
-import org.jfree.data.time.TimeSeries;
 
 import tools.descartes.dql.models.mapping.domain.ConfidenceInterval;
 import tools.descartes.dql.models.mapping.domain.Result;
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/tests/TestHeatQuery.dql b/tools.descartes.pavo/src/tools/descartes/pavo/tests/TestHeatQuery.dql
new file mode 100644
index 0000000000000000000000000000000000000000..54823ebab6b9f344c06c1de239d17493c04f29d4
--- /dev/null
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/tests/TestHeatQuery.dql
@@ -0,0 +1,3 @@
+SELECT res1.heatSeriesMetric0.default
+FOR RESOURCE 'res1' AS res1
+USING nop@"metric";
\ No newline at end of file
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/types/BarChart.java b/tools.descartes.pavo/src/tools/descartes/pavo/types/BarChart.java
index 80a9382f222969017f58bd02c220ebe5576e6f0a..a3cc7e169014a8fbe9fe1e8b48da0fcb096bb06d 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/types/BarChart.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/types/BarChart.java
@@ -27,13 +27,13 @@
 package tools.descartes.pavo.types;
 
 import java.awt.Color;
+import java.math.BigDecimal;
 
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.axis.CategoryAxis;
 import org.jfree.chart.axis.NumberAxis;
 import org.jfree.chart.axis.ValueAxis;
 import org.jfree.chart.plot.CategoryPlot;
-import org.jfree.chart.plot.Marker;
 import org.jfree.chart.plot.ValueMarker;
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.chart.renderer.category.CategoryItemRenderer;
@@ -66,6 +66,7 @@ public BarChart()
 
 	public JFreeChart visualizeConfidence()
 	{
+		
 		final DefaultStatisticalCategoryDataset dataset = new DefaultStatisticalCategoryDataset();
 		
 			CategoryAxis xAxis = new CategoryAxis("X");
@@ -78,9 +79,16 @@ public BarChart()
 			{
 				if(r instanceof SeriesResultPavo)
 				{
+					
 					for(int i = 0; i < ((SeriesResultPavo) r).getXvalues().size(); i++)
 					{
-						dataset.add(((SeriesResultPavo) r).getYvalues().get(i), ((SeriesResultPavo) r).getConfidences().get(i).getIntervalHalfLength() ,r.getQueryableElement() , ((SeriesResultPavo) r).getXvalues().get(i));
+						BigDecimal conf;
+						if(((SeriesResultPavo) r).getConfidences() == null || ((SeriesResultPavo) r).getConfidences().isEmpty())
+							conf=BigDecimal.valueOf(0.0);
+						else 
+							conf = ((SeriesResultPavo) r).getConfidences().get(i).getIntervalHalfLength();
+						
+						dataset.add(((SeriesResultPavo) r).getYvalues().get(i),conf  ,r.getQueryableElement() , ((SeriesResultPavo) r).getXvalues().get(i));
 					}
 					
 				}
@@ -94,7 +102,7 @@ public BarChart()
 	@Override
 	public JFreeChart visualize() {
 		XYSeriesCollection dataset = new XYSeriesCollection();
-		XYBarRenderer renderer = new ClusteredXYBarRenderer();
+		XYBarRenderer renderer = new ClusteredXYBarRenderer(0.2, false);
 		NumberAxis domainAxis = new NumberAxis("X");
 		domainAxis.setAutoRangeIncludesZero(false);
 		NumberAxis valueAxis = new NumberAxis("Y");
@@ -128,7 +136,6 @@ public BarChart()
 		}
 		chart.setBackgroundPaint(Color.WHITE);
 		chart.setBorderPaint(Color.WHITE);
-		renderer.setMargin(0.2);
 		return chart;
 	}
 
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/types/DifferenceChart.java b/tools.descartes.pavo/src/tools/descartes/pavo/types/DifferenceChart.java
index ddb2d6a452d445ffb065bbd1aa8a33d275ccf136..8e81d99aaacd78d08bc93c545a52f581273757bb 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/types/DifferenceChart.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/types/DifferenceChart.java
@@ -33,17 +33,14 @@ import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Font;
 
-import org.jfree.chart.ChartFactory;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.axis.NumberAxis;
 import org.jfree.chart.axis.ValueAxis;
 import org.jfree.chart.plot.IntervalMarker;
 import org.jfree.chart.plot.Marker;
-import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.chart.plot.ValueMarker;
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.chart.renderer.xy.XYDifferenceRenderer;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
 import org.jfree.data.time.Day;
 import org.jfree.data.xy.XYSeries;
 import org.jfree.data.xy.XYSeriesCollection;
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/types/HeatMap.java b/tools.descartes.pavo/src/tools/descartes/pavo/types/HeatMap.java
index 13cc2a57cc33a9f32d50913873356318d0938f22..948c7211f115eabb6af0a60c366339b9bed3775c 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/types/HeatMap.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/types/HeatMap.java
@@ -29,35 +29,27 @@ package tools.descartes.pavo.types;
 
 
 import java.awt.Color;
-import java.awt.Paint;
-import java.util.List;
 
-import javax.swing.JPanel; 
-
-import org.jfree.chart.ChartPanel; 
 import org.jfree.chart.JFreeChart; 
 import org.jfree.chart.axis.NumberAxis; 
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.chart.renderer.GrayPaintScale;
-import org.jfree.chart.renderer.LookupPaintScale;
 import org.jfree.chart.renderer.PaintScale;
 import org.jfree.chart.renderer.xy.XYBlockRenderer;
 import org.jfree.data.DomainOrder; 
 import org.jfree.data.general.DatasetChangeListener; 
 import org.jfree.data.general.DatasetGroup;
-import org.jfree.data.xy.DefaultXYDataset;
 import org.jfree.data.xy.XYDataset;
 import org.jfree.data.xy.XYZDataset; 
-import org.jfree.ui.ApplicationFrame;
-
+import tools.descartes.pavo.result.AbstractQuantitativeResult;
 import tools.descartes.pavo.result.ResultContainerPavo;
 import tools.descartes.pavo.result.SeriesResultPavo;
 public class HeatMap extends AbstractVisualizationType implements IVisualizationType { 
 
 
-     private List<Double> seriesX;
-     private  List<Double> seriesY;
-     private  List<Double> seriesZ;
+//     private List<Double> seriesX;
+//     private  List<Double> seriesY;
+//     private  List<Double> seriesZ;
     
     public HeatMap(ResultContainerPavo resultN) {
 		super(resultN);
@@ -74,12 +66,12 @@ public class HeatMap extends AbstractVisualizationType implements IVisualization
 	public JFreeChart visualize() {
 		NumberAxis xAxis = new NumberAxis("X"); 
         xAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); 
-        xAxis.setLowerMargin(0.0); 
-        xAxis.setUpperMargin(0.0); 
+//        xAxis.setLowerMargin(0.0); 
+//        xAxis.setUpperMargin(0.0); 
         NumberAxis yAxis = new NumberAxis("Y"); 
         yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); 
-        yAxis.setLowerMargin(0.0); 
-        yAxis.setUpperMargin(0.0); 
+//        yAxis.setLowerMargin(0.0); 
+//        yAxis.setUpperMargin(0.0); 
         XYBlockRenderer renderer = new XYBlockRenderer(); 
         PaintScale scale =  new GrayPaintScale(-2.0, 1.0);
         renderer.setPaintScale(scale); 
@@ -90,28 +82,25 @@ public class HeatMap extends AbstractVisualizationType implements IVisualization
                 return 1; 
             } 
             public int getItemCount(int series) { 
-                return 10000; 
+                return ((SeriesResultPavo) result.getResults().get(0)).getXvalues().size(); 
             } 
             public Number getX(int series, int item) { 
                 return new Double(getXValue(series, item)); 
             } 
             public double getXValue(int series, int item) { 
-                return item / 100 - 50; 
+                return ((SeriesResultPavo) result.getResults().get(0)).getXvalues().get(item); 
             } 
             public Number getY(int series, int item) { 
                 return new Double(getYValue(series, item)); 
             } 
             public double getYValue(int series, int item) { 
-                return item - (item / 100) * 100 - 50; 
+                return ((SeriesResultPavo) result.getResults().get(1)).getXvalues().get(item);
             } 
             public Number getZ(int series, int item) { 
                 return new Double(getZValue(series, item)); 
             } 
             public double getZValue(int series, int item) { 
-                result.getResults().get(series);
-            	double x = getXValue(series, item); 
-                double y = getYValue(series, item); 
-                return Math.sin(Math.sqrt(x * x + y * y) / 5.0); 
+            	return ((SeriesResultPavo) result.getResults().get(2)).getXvalues().get(item);
             } 
             public void addChangeListener(DatasetChangeListener listener) { 
                 // ignore - this dataset never changes 
@@ -148,7 +137,20 @@ public class HeatMap extends AbstractVisualizationType implements IVisualization
 	@Override
 	public boolean canVisualize() {
 		if(this.getResult().getResults().size() == 3)
-			return true;
+		{
+			boolean allAreSeries = true;
+			for(AbstractQuantitativeResult r : this.getResult().getResults())
+			{
+				if(!(r instanceof SeriesResultPavo))
+				{
+					allAreSeries = false;
+				}
+			}
+			if(allAreSeries)
+			{
+				return true;
+			}
+		}
 		return false;
 	}
 	
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/types/LineChart.java b/tools.descartes.pavo/src/tools/descartes/pavo/types/LineChart.java
index 54d5cf847293f5b58ce8030240734ad1622bee0a..8aafc3fdfc94d930324f7c713fbf5859a9c1a256 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/types/LineChart.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/types/LineChart.java
@@ -28,6 +28,7 @@ package tools.descartes.pavo.types;
 
 
 import java.awt.Color;
+import java.math.BigDecimal;
 
 import org.jfree.chart.ChartFactory;
 import org.jfree.chart.JFreeChart;
@@ -161,10 +162,15 @@ public class LineChart  extends AbstractVisualizationType implements IVisualizat
 				YIntervalSeries s1 = new YIntervalSeries(r.getQueryableElement());
 				for(int j = 0; j < ((SeriesResultPavo) r).getXvalues().size(); j++)
 				{
-					 ConfidenceInterval c =  ((SeriesResultPavo) r).getConfidences().get(j);
+					BigDecimal conf;
+					if(((SeriesResultPavo) r).getConfidences() == null || ((SeriesResultPavo) r).getConfidences().isEmpty())
+						conf=BigDecimal.valueOf(0.0);
+					else 
+						conf = ((SeriesResultPavo) r).getConfidences().get(j).getIntervalHalfLength();
+					
 		    		 Double x = ((SeriesResultPavo) r).getXvalues().get(j);
 		    		 Double y = ((SeriesResultPavo) r).getyvalues().get(j);
-		    		 s1.add(x, y, y-c.getIntervalHalfLength().doubleValue(), y+c.getIntervalHalfLength().doubleValue());
+		    		 s1.add(x, y, y-conf.doubleValue(), y+conf.doubleValue());
 				}
 				dataset.addSeries(s1);
 			}
diff --git a/tools.descartes.pavo/src/tools/descartes/pavo/view/View.java b/tools.descartes.pavo/src/tools/descartes/pavo/view/View.java
index cde9e91a555499561d2b2f36732ceb4205a8eb0d..be1744473186bd84177494e6f427fa4c04692856 100644
--- a/tools.descartes.pavo/src/tools/descartes/pavo/view/View.java
+++ b/tools.descartes.pavo/src/tools/descartes/pavo/view/View.java
@@ -29,6 +29,7 @@ package tools.descartes.pavo.view;
 
 import java.awt.BorderLayout;
 import java.awt.Color;
+import java.awt.Dimension;
 import java.awt.FlowLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -79,16 +80,16 @@ public class View  {
 	{
 		BoxLayout layoutForViz = new BoxLayout(visualizationPanel, BoxLayout.Y_AXIS);
 		visualizationPanel.setLayout(layoutForViz);
-		frame.add(visualizationPanel, BorderLayout.CENTER);
+		frame.add(visualizationPanel, BorderLayout.NORTH);
 		visualizationPanel.add(chartPanel);
 		frame.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
 		frame.setVisible(true);
 
 		buttonPanel = initializeButtons();
-		updateCurrentXYZ();
+//		updateCurrentXYZ();
 		setActionListenerForHeatControls();
 		//Controller muss erst die Comboboxen fillen und dann das update aufrufen 
-		frame.add(buttonPanel, BorderLayout.SOUTH);
+		frame.add(buttonPanel, BorderLayout.CENTER);
 	}
 	
 	
@@ -248,6 +249,7 @@ heatZ.addActionListener(new ActionListener() {
 		minRadio.setVisible(false);
 		maxRadio.setVisible(false);
 		meanRadio.setVisible(false);
+		confidenceRadio.setVisible(false);
 	}
 	
 	public void switchToNormal()
@@ -479,17 +481,17 @@ heatZ.addActionListener(new ActionListener() {
 		heatZ.setToolTipText("Z Axis Series");
 		
 		//Hier nicht diese Namen sondern die namen der resourcen der über controller einfügen
-		heatX.addItem("Series 1");
-		heatX.addItem("Series 2");
-		heatX.addItem("Series 3");
-		
-		heatY.addItem("Series 2");
-		heatY.addItem("Series 3");
-		heatY.addItem("Series 1");
-		
-		heatZ.addItem("Series 3");
-		heatZ.addItem("Series 1");
-		heatZ.addItem("Series 2");
+//		heatX.addItem("Series 1");
+//		heatX.addItem("Series 2");
+//		heatX.addItem("Series 3");
+//		
+//		heatY.addItem("Series 2");
+//		heatY.addItem("Series 3");
+//		heatY.addItem("Series 1");
+//		
+//		heatZ.addItem("Series 3");
+//		heatZ.addItem("Series 1");
+//		heatZ.addItem("Series 2");
 		
 		heatXPanel.setVisible(false);
 		heatYPanel.setVisible(false);
@@ -519,7 +521,6 @@ heatZ.addActionListener(new ActionListener() {
 		buttons.add(confidenceRadio);
 		buttons.add(exportButton);
 		buttons.add(analysisPanel);
-
 		return buttons;
 	}
 	
@@ -599,6 +600,23 @@ heatZ.addActionListener(new ActionListener() {
 	public void setHeatZ(JComboBox<String> heatZ) {
 		this.heatZ = heatZ;
 	}
+
+
+	/**
+	 * @return the blockerHeat
+	 */
+	public boolean isBlockerHeat() {
+		return blockerHeat;
+	}
+
+
+	/**
+	 * @param blockerHeat the blockerHeat to set
+	 */
+	public void setBlockerHeat(boolean blockerHeat) {
+		this.blockerHeat = blockerHeat;
+	}
+