diff --git a/src/main/java/com/application/DB/Constants.java b/src/main/java/com/application/DB/Constants.java
index 5b391a979e419d0e846609c0c6284dcc88327725..25867d41f8c955a220f7f4a6c321e1a70b8af29f 100644
--- a/src/main/java/com/application/DB/Constants.java
+++ b/src/main/java/com/application/DB/Constants.java
@@ -25,7 +25,7 @@ public final class Constants {
     public static  String MOISTURE_GOAL = "";
 
     // Number of wanted drying periods
-    public static int NUMBER_OF_PERIODS = 3;
+    public static int NUMBER_OF_PERIODS = 1;
 
     // Database ID/name
     public static final String PROJECT_ID = "sf-drying-optimization";
diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java
index b2d08071de66da16391459605356385ad23c0904..10b8b0783520e68c85b352306346eba539d42eca 100644
--- a/src/main/java/com/application/GUI/LineChartFunctionality.java
+++ b/src/main/java/com/application/GUI/LineChartFunctionality.java
@@ -10,6 +10,7 @@ import org.apache.commons.math3.exception.MathIllegalArgumentException;
 import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
 import org.apache.commons.math3.stat.regression.SimpleRegression;
 
+import java.lang.reflect.Array;
 import java.util.*;
 
 public class LineChartFunctionality {
@@ -116,7 +117,7 @@ public class LineChartFunctionality {
                 index++;
             }
             //allSeries.add(newSeries);
-            //updateLineChart(newSeries);
+            updateLineChart(newSeries);
             //lineChart.setOpacity(1);
         }
 
@@ -150,25 +151,6 @@ public class LineChartFunctionality {
                 data[index][1] = list.get(j);
                 index++;
             }
-
-            /*
-            for (int j = 0; j < data[i].length; j++) {
-                System.out.println("data[i][j]: "+data[i][j]);
-                if(data[i][j] == 0.0){
-                    double sum = 0.0;
-                    double index = 0.0;
-                    for (int k = 0; k < list.size(); k++) {
-                        if(data[i][k] != 0.0){
-                            sum += data[i][k];
-                            index += 1;
-                        }
-                    }
-                    System.out.println("sum/index: "+ sum/index);
-                    data[i][j] = sum/index;
-                }
-            }
-
-             */
         }
 
 
@@ -188,16 +170,46 @@ public class LineChartFunctionality {
             }
         }
 
+        // Finds the end datapoint at the end of each graph
+        int numberOfGraphs = 0;
+        ArrayList<Integer> endOfGraphPoints = new ArrayList<>();
+        for (int i = 0; i < confidenceIntervalData.size(); i++) {
+            ArrayList<Double> list = confidenceIntervalData.get(i);
+            for (int j = 0; j < list.size(); j++) {
+                if (numberOfGraphs < list.size()) {
+                    numberOfGraphs = list.size();
+                }
+                if (list.size() < numberOfGraphs) {
+                    endOfGraphPoints.add(i);
+                    numberOfGraphs = list.size();
+                }
+            }
+        }
+        endOfGraphPoints.add(confidenceIntervalData.size());
+
+        int dataPoints = 0;
+        for (int i = 0; i < endOfGraphPoints.size(); i++) {
+            dataPoints+=endOfGraphPoints.get(i);
+        }
+        dataPoints = dataPoints/endOfGraphPoints.size();
+
+
 
 
 
         XYChart.Series<String, Number> regressionSeries = new XYChart.Series<String, Number>();
-        for (int i = 0; i < confidenceIntervalData.size(); i++) {
+        for (int i = 0; i <= dataPoints; i++) {
 
             // Connect the data to a series
             //System.out.println(simpleRegression.predict(i));
             //regressionSeries.getData().add(new XYChart.Data<String, Number>(String.valueOf(i), simpleRegression.predict(i)));
-            regressionSeries.getData().add(new XYChart.Data<String, Number>(String.valueOf(i), getNonLinearRegression(confidenceIntervalData,simpleRegression.getIntercept(),simpleRegression.getSlope(),i)));
+            regressionSeries.getData().add(new XYChart.Data<String, Number>(
+                            String.valueOf(i),
+                            getNonLinearRegression(confidenceIntervalData,
+                            simpleRegression.getIntercept(),
+                            simpleRegression.getSlope(),
+                            i,
+                            dataPoints)));
         }
         updateLineChart(regressionSeries);
         //lineChart.setOpacity(1);
@@ -226,27 +238,32 @@ public class LineChartFunctionality {
     }
 
 
-    public static double getNonLinearRegression(Map<Integer, ArrayList<Double>> confidenceIntervalData, double slope, double intercept, double j) {
+    public static double getNonLinearRegression(Map<Integer, ArrayList<Double>> confidenceIntervalData, double y0, double alpha, double j, int n) {
         //return Math.exp(intercept+slope*i)/(1+Math.exp(intercept+slope*i));
 
 
-        double alpha = intercept/100;
-        double beta = alpha/(slope/100);
-        double maxYValue = 0.0;
-        double n = confidenceIntervalData.size();
+        double beta = 0.0;
+        //double n = confidenceIntervalData.size();
         for (Map.Entry<Integer, ArrayList<Double>> entry : confidenceIntervalData.entrySet()) {
             for (int i = 0; i < entry.getValue().size(); i++) {
-                if(maxYValue < entry.getValue().get(i)){
-                    maxYValue = entry.getValue().get(i);
+                if(beta < entry.getValue().get(i)){
+                    beta = entry.getValue().get(i);
                 }
             }
         }
         //System.out.println("maxYValue: " + maxYValue);
         //System.out.println("j*n: "+j/n);
 
-        double p_t = ((beta*maxYValue)/(maxYValue+((beta-maxYValue)*Math.exp(-alpha*(j)))));
+        //double p_t = ((beta*maxYValue)/(maxYValue+((beta-maxYValue)*Math.exp(-alpha*(yValue-maxYValue)))));
+        //double p_t = ((beta* y0)/(y0 +((beta- y0)*Math.exp(-alpha*j/n/(2*Math.PI)))))-y0;      //Funker sånn halveis
+        double p_t = (((beta * y0))/(y0 +((beta- y0)*Math.exp(-alpha*j/n/(6.5)))))-y0;      //Funker sånn halveis
+        //double p_t = (beta * y0)/(y0 + (beta - y0)*Math.exp(-intercept*(j/n)));
+
 
         System.out.println("---------------------------");
+        System.out.println("y0: " + y0);
+        System.out.println("Alpha: " + alpha);
+        System.out.println("Beta: " + beta);
         System.out.println(p_t);
 
         return p_t;