diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.cpp
index 3223540751..c9a9c430ae 100644
--- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.cpp
+++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.cpp
@@ -97,7 +97,7 @@ public:
 //--------------------------------------------------------------------------------------------------
 /// 
 //--------------------------------------------------------------------------------------------------
-RimSummaryCurvesCalculator::RimSummaryCurvesCalculator(RimSummaryYAxisProperties* axisProperties,
+RimSummaryPlotYAxisFormater::RimSummaryPlotYAxisFormater(RimSummaryYAxisProperties* axisProperties,
     const std::vector<RimSummaryCurve*>& curves, 
     const std::vector<RimSummaryCurveFilter*>& curveFilters)
 :   m_axisProperties(axisProperties),
@@ -106,27 +106,19 @@ RimSummaryCurvesCalculator::RimSummaryCurvesCalculator(RimSummaryYAxisProperties
 {
 }
 
-//--------------------------------------------------------------------------------------------------
-/// 
-//--------------------------------------------------------------------------------------------------
-RimSummaryCurvesCalculator::RimSummaryCurvesCalculator(RimSummaryYAxisProperties* axisProperties, const std::vector<RimSummaryCurve*>& curves)
-    : m_axisProperties(axisProperties),
-    m_singleCurves(curves)
-{
-}
 
 //--------------------------------------------------------------------------------------------------
 /// 
 //--------------------------------------------------------------------------------------------------
-void RimSummaryCurvesCalculator::applyPropertiesToPlot(RiuSummaryQwtPlot* m_qwtPlot)
+void RimSummaryPlotYAxisFormater::applyYAxisPropertiesToPlot(RiuSummaryQwtPlot* qwtPlot)
 {
-    if (!m_qwtPlot) return;
+    if (!qwtPlot) return;
 
     {
         QString axisTitle = m_axisProperties->customTitle;
         if (m_axisProperties->isAutoTitle) axisTitle = autoAxisTitle();
 
-        QwtText axisTitleY = m_qwtPlot->axisTitle(m_axisProperties->axis());
+        QwtText axisTitleY = qwtPlot->axisTitle(m_axisProperties->axis());
 
         QFont axisTitleYFont = axisTitleY.font();
         axisTitleYFont.setBold(true);
@@ -134,28 +126,39 @@ void RimSummaryCurvesCalculator::applyPropertiesToPlot(RiuSummaryQwtPlot* m_qwtP
         axisTitleY.setFont(axisTitleYFont);
 
         axisTitleY.setText(axisTitle);
-        m_qwtPlot->setAxisTitle(m_axisProperties->axis(), axisTitleY);
+
+        switch (m_axisProperties->titlePositionEnum())
+        {
+            case RimSummaryYAxisProperties::AXIS_TITLE_CENTER:
+            axisTitleY.setRenderFlags(Qt::AlignCenter);
+            break;
+            case RimSummaryYAxisProperties::AXIS_TITLE_END:
+            axisTitleY.setRenderFlags(Qt::AlignRight);
+            break;
+        }
+
+        qwtPlot->setAxisTitle(m_axisProperties->axis(), axisTitleY);
     }
 
     {
-        QFont yAxisFont = m_qwtPlot->axisFont(m_axisProperties->axis());
+        QFont yAxisFont = qwtPlot->axisFont(m_axisProperties->axis());
         yAxisFont.setBold(false);
         yAxisFont.setPixelSize(m_axisProperties->fontSize);
-        m_qwtPlot->setAxisFont(m_axisProperties->axis(), yAxisFont);
+        qwtPlot->setAxisFont(m_axisProperties->axis(), yAxisFont);
     }
 
     {
         if (m_axisProperties->numberFormat == RimSummaryYAxisProperties::NUMBER_FORMAT_AUTO)
         {
-            m_qwtPlot->setAxisScaleDraw(m_axisProperties->axis(), new QwtScaleDraw);
+            qwtPlot->setAxisScaleDraw(m_axisProperties->axis(), new QwtScaleDraw);
         }
         else if (m_axisProperties->numberFormat == RimSummaryYAxisProperties::NUMBER_FORMAT_DECIMAL)
         {
-            m_qwtPlot->setAxisScaleDraw(m_axisProperties->axis(), new DecimalScaleDraw);
+            qwtPlot->setAxisScaleDraw(m_axisProperties->axis(), new DecimalScaleDraw);
         }
         else if (m_axisProperties->numberFormat == RimSummaryYAxisProperties::NUMBER_FORMAT_SCIENTIFIC)
         {
-            m_qwtPlot->setAxisScaleDraw(m_axisProperties->axis(), new ScientificScaleDraw());
+            qwtPlot->setAxisScaleDraw(m_axisProperties->axis(), new ScientificScaleDraw());
         }
 
     }
@@ -163,21 +166,21 @@ void RimSummaryCurvesCalculator::applyPropertiesToPlot(RiuSummaryQwtPlot* m_qwtP
     {
         if (m_axisProperties->isLogarithmicScaleEnabled)
         {
-            QwtLogScaleEngine* currentScaleEngine = dynamic_cast<QwtLogScaleEngine*>(m_qwtPlot->axisScaleEngine(m_axisProperties->axis()));
+            QwtLogScaleEngine* currentScaleEngine = dynamic_cast<QwtLogScaleEngine*>(qwtPlot->axisScaleEngine(m_axisProperties->axis()));
             if (!currentScaleEngine)
             {
-                m_qwtPlot->setAxisScaleEngine(m_axisProperties->axis(), new QwtLogScaleEngine);
-                m_qwtPlot->setAxisMaxMinor(m_axisProperties->axis(), 5);
+                qwtPlot->setAxisScaleEngine(m_axisProperties->axis(), new QwtLogScaleEngine);
+                qwtPlot->setAxisMaxMinor(m_axisProperties->axis(), 5);
             }
 
         }
         else
         {
-            QwtLinearScaleEngine* currentScaleEngine = dynamic_cast<QwtLinearScaleEngine*>(m_qwtPlot->axisScaleEngine(m_axisProperties->axis()));
+            QwtLinearScaleEngine* currentScaleEngine = dynamic_cast<QwtLinearScaleEngine*>(qwtPlot->axisScaleEngine(m_axisProperties->axis()));
             if (!currentScaleEngine)
             {
-                m_qwtPlot->setAxisScaleEngine(m_axisProperties->axis(), new QwtLinearScaleEngine);
-                m_qwtPlot->setAxisMaxMinor(m_axisProperties->axis(), 3);
+                qwtPlot->setAxisScaleEngine(m_axisProperties->axis(), new QwtLinearScaleEngine);
+                qwtPlot->setAxisMaxMinor(m_axisProperties->axis(), 3);
             }
         }
     }
@@ -186,7 +189,7 @@ void RimSummaryCurvesCalculator::applyPropertiesToPlot(RiuSummaryQwtPlot* m_qwtP
 //--------------------------------------------------------------------------------------------------
 /// 
 //--------------------------------------------------------------------------------------------------
-QString RimSummaryCurvesCalculator::autoAxisTitle() const
+QString RimSummaryPlotYAxisFormater::autoAxisTitle() const
 {
     std::set<std::string> unitNames;
 
@@ -211,10 +214,26 @@ QString RimSummaryCurvesCalculator::autoAxisTitle() const
     return assembledYAxisText;
 }
 
+
+
+
+
+
+
+
 //--------------------------------------------------------------------------------------------------
 /// 
 //--------------------------------------------------------------------------------------------------
-void RimSummaryCurvesCalculator::computeYRange(double* min, double* max) const
+RimSummaryPlotYAxisRangeCalculator::RimSummaryPlotYAxisRangeCalculator(RimSummaryYAxisProperties* axisProperties, const std::vector<RimSummaryCurve*>& curves)
+    : m_axisProperties(axisProperties),
+    m_singleCurves(curves)
+{
+}
+
+//--------------------------------------------------------------------------------------------------
+/// 
+//--------------------------------------------------------------------------------------------------
+void RimSummaryPlotYAxisRangeCalculator::computeYRange(double* min, double* max) const
 {
     double minValue = HUGE_VAL;
     double maxValue = -HUGE_VAL;
@@ -273,7 +292,7 @@ void RimSummaryCurvesCalculator::computeYRange(double* min, double* max) const
 //--------------------------------------------------------------------------------------------------
 /// 
 //--------------------------------------------------------------------------------------------------
-bool RimSummaryCurvesCalculator::curveValueRangeY(const QwtPlotCurve* qwtCurve, double* min, double* max) const
+bool RimSummaryPlotYAxisRangeCalculator::curveValueRangeY(const QwtPlotCurve* qwtCurve, double* min, double* max) const
 {
     if (!qwtCurve) return false;
 
diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.h
index 2625317198..3622bccff1 100644
--- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.h
+++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.h
@@ -29,22 +29,17 @@ class RiuSummaryQwtPlot;
 
 class QwtPlotCurve;
 
-class RimSummaryCurvesCalculator
+class RimSummaryPlotYAxisFormater
 {
 public:
-    RimSummaryCurvesCalculator(RimSummaryYAxisProperties* axisProperties,
+    RimSummaryPlotYAxisFormater(RimSummaryYAxisProperties* axisProperties,
         const std::vector<RimSummaryCurve*>& curves,
         const std::vector<RimSummaryCurveFilter*>& curveFilters);
 
-    RimSummaryCurvesCalculator(RimSummaryYAxisProperties* axisProperties,
-        const std::vector<RimSummaryCurve*>& curves);
-
-    void    applyPropertiesToPlot(RiuSummaryQwtPlot* qwtPlot);
-    void    computeYRange(double* min, double* max) const;
+    void    applyYAxisPropertiesToPlot(RiuSummaryQwtPlot* qwtPlot);
 
 private:
     QString autoAxisTitle() const;
-    bool    curveValueRangeY(const QwtPlotCurve* qwtCurve, double* min, double* max) const;
 
 private:
     RimSummaryYAxisProperties*          m_axisProperties;
@@ -52,3 +47,20 @@ private:
     std::vector<RimSummaryCurveFilter*> m_curveFilters;
 };
 
+
+class RimSummaryPlotYAxisRangeCalculator
+{
+public:
+    RimSummaryPlotYAxisRangeCalculator(RimSummaryYAxisProperties* axisProperties,
+                                       const std::vector<RimSummaryCurve*>& curves);
+
+    void    computeYRange(double* min, double* max) const;
+
+private:
+    bool    curveValueRangeY(const QwtPlotCurve* qwtCurve, double* min, double* max) const;
+
+private:
+    RimSummaryYAxisProperties*          m_axisProperties;
+    std::vector<RimSummaryCurve*>       m_singleCurves;
+};
+
diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp
index 0d92221f48..41076e3a86 100644
--- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp
+++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp
@@ -212,8 +212,8 @@ void RimSummaryPlot::updateAxis(RimDefines::PlotAxis plotAxis)
         {
             m_qwtPlot->enableAxis(qwtAxis, true);
 
-            RimSummaryCurvesCalculator calc(yAxisProperties, curves, curveFiltersForAxis);
-            calc.applyPropertiesToPlot(m_qwtPlot);
+            RimSummaryPlotYAxisFormater calc(yAxisProperties, curves, curveFiltersForAxis);
+            calc.applyYAxisPropertiesToPlot(m_qwtPlot);
         }
         else
         {
@@ -272,6 +272,16 @@ void RimSummaryPlot::updateTimeAxis()
 
         timeAxisTitle.setText(axisTitle);
 
+        switch ( m_timeAxisProperties->titlePositionEnum() )
+        {
+            case RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER:
+            timeAxisTitle.setRenderFlags(Qt::AlignCenter);
+            break;
+            case RimSummaryTimeAxisProperties::AXIS_TITLE_END:
+            timeAxisTitle.setRenderFlags(Qt::AlignRight);
+            break;
+        }
+
         m_qwtPlot->setAxisTitle(QwtPlot::xBottom, timeAxisTitle);
     }
 
@@ -281,6 +291,7 @@ void RimSummaryPlot::updateTimeAxis()
         timeAxisFont.setPixelSize(m_timeAxisProperties->fontSize);
         m_qwtPlot->setAxisFont(QwtPlot::xBottom, timeAxisFont);
     }
+
 }
 
 //--------------------------------------------------------------------------------------------------
@@ -350,7 +361,7 @@ void RimSummaryPlot::zoomAll()
             std::vector<RimSummaryCurve*> curves = curvesForAxis(RimDefines::PLOT_AXIS_LEFT);
 
             double min, max;
-            RimSummaryCurvesCalculator calc(m_leftYAxisProperties, curves);
+            RimSummaryPlotYAxisRangeCalculator calc(m_leftYAxisProperties, curves);
             calc.computeYRange(&min, &max);
 
             m_qwtPlot->setAxisScale(m_leftYAxisProperties->axis(), min, max);
@@ -365,7 +376,7 @@ void RimSummaryPlot::zoomAll()
             std::vector<RimSummaryCurve*> curves = curvesForAxis(RimDefines::PLOT_AXIS_RIGHT);
 
             double min, max;
-            RimSummaryCurvesCalculator calc(m_rightYAxisProperties, curves);
+            RimSummaryPlotYAxisRangeCalculator calc(m_rightYAxisProperties, curves);
             calc.computeYRange(&min, &max);
 
             m_qwtPlot->setAxisScale(m_rightYAxisProperties->axis(), min, max);
diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp
index d4e58328ba..67bfde40a5 100644
--- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp
+++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp
@@ -25,6 +25,20 @@
 #include "qwt_date.h"
 
 
+namespace caf
+{
+template<>
+void caf::AppEnum< RimSummaryTimeAxisProperties::AxisTitlePositionType >::setUp()
+{
+    addItem(RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER, "AXIS_TITLE_CENTER", "Center");
+    addItem(RimSummaryTimeAxisProperties::AXIS_TITLE_END, "AXIS_TITLE_END", "At End");
+
+    setDefault(RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER);
+}
+}
+
+
+
 CAF_PDM_SOURCE_INIT(RimSummaryTimeAxisProperties, "SummaryTimeAxisProperties");
 
 //--------------------------------------------------------------------------------------------------
@@ -39,6 +53,8 @@ RimSummaryTimeAxisProperties::RimSummaryTimeAxisProperties()
 
     CAF_PDM_InitField(&showTitle, "ShowTitle", false, "Show Title", "", "", "");
     CAF_PDM_InitField(&title, "Title", QString("Time"), "Title", "", "", "");
+    CAF_PDM_InitFieldNoDefault(&titlePositionEnum, "TitlePosition", "Title Position", "", "", "");
+
     CAF_PDM_InitField(&fontSize, "FontSize", 11, "Font Size", "", "", "");
 
     CAF_PDM_InitFieldNoDefault(&m_visibleRangeMax, "VisibleRangeMax", "Max", "", "", "");
diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.h
index 04ce0adf67..ee44e64752 100644
--- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.h
+++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.h
@@ -35,12 +35,21 @@ class RimSummaryTimeAxisProperties : public caf::PdmObject
 {
     CAF_PDM_HEADER_INIT;
 
+public:
+
+    enum AxisTitlePositionType
+    {
+        AXIS_TITLE_CENTER,
+        AXIS_TITLE_END
+    };
+
 public:
     RimSummaryTimeAxisProperties();
 
     caf::PdmField<int>          fontSize;
     caf::PdmField<QString>      title;
     caf::PdmField<bool>         showTitle;
+    caf::PdmField< caf::AppEnum< AxisTitlePositionType > > titlePositionEnum;
 
     double visibleRangeMin() const;
     double visibleRangeMax() const;
diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.cpp
index 9597a47230..8284fda476 100644
--- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.cpp
+++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.cpp
@@ -35,6 +35,19 @@ namespace caf
     }
 }
 
+namespace caf
+{
+template<>
+void caf::AppEnum< RimSummaryYAxisProperties::AxisTitlePositionType >::setUp()
+{
+    addItem(RimSummaryYAxisProperties::AXIS_TITLE_CENTER, "AXIS_TITLE_CENTER", "Center");
+    addItem(RimSummaryYAxisProperties::AXIS_TITLE_END, "AXIS_TITLE_END", "At End");
+
+    setDefault(RimSummaryYAxisProperties::AXIS_TITLE_CENTER);
+}
+}
+
+
 CAF_PDM_SOURCE_INIT(RimSummaryYAxisProperties, "SummaryYAxisProperties");
 
 //--------------------------------------------------------------------------------------------------
@@ -52,6 +65,7 @@ RimSummaryYAxisProperties::RimSummaryYAxisProperties()
 
     CAF_PDM_InitField(&isAutoTitle, "AutoTitle", true, "Auto Title", "", "", "");
     CAF_PDM_InitFieldNoDefault(&customTitle, "CustomTitle", "Title", "", "", "");
+    CAF_PDM_InitFieldNoDefault(&titlePositionEnum, "TitlePosition", "Title Position", "", "", "");
     CAF_PDM_InitField(&fontSize, "FontSize", 11, "Font Size", "", "", "");
 
     CAF_PDM_InitField(&visibleRangeMax, "VisibleRangeMax", RimDefines::maximumDefaultValuePlot(), "Max", "", "", "");
diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.h
index 72a2875876..b513659abb 100644
--- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.h
+++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.h
@@ -28,6 +28,8 @@
 
 #include <QString>
 
+
+
 //==================================================================================================
 ///  
 ///  
@@ -44,6 +46,12 @@ public:
         NUMBER_FORMAT_SCIENTIFIC
     };
 
+    enum AxisTitlePositionType
+    {
+        AXIS_TITLE_CENTER,
+        AXIS_TITLE_END
+    };
+
 public:
     RimSummaryYAxisProperties();
 
@@ -53,6 +61,7 @@ public:
     caf::PdmField<bool>         isAutoTitle;
     caf::PdmField<QString>      customTitle;
     caf::PdmField<int>          fontSize;
+    caf::PdmField< caf::AppEnum< AxisTitlePositionType > > titlePositionEnum;
 
     caf::PdmField<double>       visibleRangeMin;
     caf::PdmField<double>       visibleRangeMax;