diff --git a/src/framebufferseries.cpp b/src/framebufferseries.cpp
--- a/src/framebufferseries.cpp
+++ b/src/framebufferseries.cpp
@@ -1,5 +1,5 @@
 /*
-  Copyright © 2016 Hasan Yavuz Özderya
+  Copyright © 2017 Hasan Yavuz Özderya
 
   This file is part of serialplot.
 
@@ -21,9 +21,19 @@
 
 FrameBufferSeries::FrameBufferSeries(FrameBuffer* buffer)
 {
+    xAsIndex = true;
+    _xmin = 0;
+    _xmax = 1;
     _buffer = buffer;
 }
 
+void FrameBufferSeries::setXAxis(bool asIndex, double xmin, double xmax)
+{
+    xAsIndex = asIndex;
+    _xmin = xmin;
+    _xmax = xmax;
+}
+
 size_t FrameBufferSeries::size() const
 {
     return _buffer->size();
@@ -31,7 +41,14 @@ size_t FrameBufferSeries::size() const
 
 QPointF FrameBufferSeries::sample(size_t i) const
 {
-    return QPointF(i, _buffer->sample(i));
+    if (xAsIndex)
+    {
+        return QPointF(i, _buffer->sample(i));
+    }
+    else
+    {
+        return QPointF(i * (_xmax - _xmin) / size() + _xmin, _buffer->sample(i));
+    }
 }
 
 QRectF FrameBufferSeries::boundingRect() const
diff --git a/src/framebufferseries.h b/src/framebufferseries.h
--- a/src/framebufferseries.h
+++ b/src/framebufferseries.h
@@ -1,5 +1,5 @@
 /*
-  Copyright © 2016 Hasan Yavuz Özderya
+  Copyright © 2017 Hasan Yavuz Özderya
 
   This file is part of serialplot.
 
@@ -37,6 +37,9 @@ class FrameBufferSeries : public QwtSeri
 public:
     FrameBufferSeries(FrameBuffer* buffer);
 
+    /// Behavior of X axis
+    void setXAxis(bool asIndex, double xmin, double xmax);
+
     // QwtSeriesData implementations
     size_t size() const;
     QPointF sample(size_t i) const;
@@ -44,6 +47,9 @@ public:
 
 private:
     FrameBuffer* _buffer;
+    bool xAsIndex;
+    double _xmin;
+    double _xmax;
 };
 
 #endif // FRAMEBUFFERSERIES_H
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -139,7 +139,7 @@ MainWindow::MainWindow(QWidget *parent) 
     connect(&plotControlPanel, &PlotControlPanel::numOfSamplesChanged,
             plotMan, &PlotManager::onNumOfSamplesChanged);
 
-    connect(&plotControlPanel, &PlotControlPanel::scaleChanged,
+    connect(&plotControlPanel, &PlotControlPanel::yScaleChanged,
             plotMan, &PlotManager::setAxis);
 
     QObject::connect(ui->actionClear, SIGNAL(triggered(bool)),
diff --git a/src/plotcontrolpanel.cpp b/src/plotcontrolpanel.cpp
--- a/src/plotcontrolpanel.cpp
+++ b/src/plotcontrolpanel.cpp
@@ -181,7 +181,7 @@ void PlotControlPanel::onAutoScaleChecke
         ui->spYmin->setEnabled(false);
         ui->spYmax->setEnabled(false);
 
-        emit scaleChanged(true); // autoscale
+        emit yScaleChanged(true); // autoscale
     }
     else
     {
@@ -190,13 +190,13 @@ void PlotControlPanel::onAutoScaleChecke
         ui->spYmin->setEnabled(true);
         ui->spYmax->setEnabled(true);
 
-        emit scaleChanged(false, ui->spYmin->value(), ui->spYmax->value());
+        emit yScaleChanged(false, ui->spYmin->value(), ui->spYmax->value());
     }
 }
 
 void PlotControlPanel::onYScaleChanged()
 {
-    emit scaleChanged(false, ui->spYmin->value(), ui->spYmax->value());
+    emit yScaleChanged(false, ui->spYmin->value(), ui->spYmax->value());
 }
 
 bool PlotControlPanel::autoScale()
diff --git a/src/plotcontrolpanel.h b/src/plotcontrolpanel.h
--- a/src/plotcontrolpanel.h
+++ b/src/plotcontrolpanel.h
@@ -53,7 +53,7 @@ public:
 
 signals:
     void numOfSamplesChanged(int value);
-    void scaleChanged(bool autoScaled, double yMin = 0, double yMax = 1);
+    void yScaleChanged(bool autoScaled, double yMin = 0, double yMax = 1);
 
 private:
     Ui::PlotControlPanel *ui;
diff --git a/src/plotcontrolpanel.ui b/src/plotcontrolpanel.ui
--- a/src/plotcontrolpanel.ui
+++ b/src/plotcontrolpanel.ui
@@ -6,7 +6,7 @@
    
     0
     0
-    590
+    706
     187
    
   
@@ -157,6 +157,87 @@
       
      
      - 
+      
+       
+        Index as X AXis
+       
+       
+        true
+       
+      
+     
 
+     - 
+      
+       
- 
+        
+         
+          false
+         
+         
+          Xmin
+         
+        
+       
 
+       - 
+        
+         
+          false
+         
+         
+          
+           75
+           0
+          
+         
+         
+          
+           75
+           16777215
+          
+         
+         
+          lower limit of Y axis
+         
+         
+          0.000000000000000
+         
+        
+       
 
+       - 
+        
+         
+          false
+         
+         
+          Xmax
+         
+        
+       
 
+       - 
+        
+         
+          false
+         
+         
+          
+           75
+           16777215
+          
+         
+         
+          upper limit of Y axis
+         
+         
+          1000.000000000000000
+         
+         
+          1000.000000000000000
+         
+        
+       
 
+      
+      
+     - 
       
        
         Auto Scale Y Axis
@@ -166,75 +247,85 @@
        
       
      
 
-     - 
-      
-       
-        false
-       
-       
-        Ymax
-       
-      
+     
- 
+      
+       
- 
+        
+         
+          false
+         
+         
+          Ymin
+         
+        
+       
 
+       - 
+        
+         
+          false
+         
+         
+          
+           75
+           0
+          
+         
+         
+          
+           75
+           16777215
+          
+         
+         
+          lower limit of Y axis
+         
+         
+          0.000000000000000
+         
+        
+       
 
+       - 
+        
+         
+          false
+         
+         
+          Ymax
+         
+        
+       
 
+       - 
+        
+         
+          false
+         
+         
+          
+           75
+           16777215
+          
+         
+         
+          upper limit of Y axis
+         
+         
+          1000.000000000000000
+         
+         
+          1000.000000000000000
+         
+        
+       
 
+      
       
-     - 
-      
-       
-        false
-       
-       
-        
-         75
-         16777215
-        
-       
-       
-        upper limit of Y axis
-       
-       
-        1000.000000000000000
-       
-       
-        1000.000000000000000
-       
-      
-     
 
-     - 
-      
-       
-        false
-       
-       
-        Ymin
-       
-      
-     
 
-     - 
-      
-       
-        false
-       
-       
-        
-         75
-         16777215
-        
-       
-       
-        lower limit of Y axis
-       
-       
-        0.000000000000000
-       
-      
-     
 
-     - 
+     
- 
       
        
         Select Range Preset:
        
       
      
 
-     - 
+     
- 
       
      
 
     
diff --git a/src/plotmanager.cpp b/src/plotmanager.cpp
--- a/src/plotmanager.cpp
+++ b/src/plotmanager.cpp
@@ -259,7 +259,9 @@ Plot* PlotManager::addPlotWidget()
 void PlotManager::addCurve(QString title, FrameBuffer* buffer)
 {
     auto curve = new QwtPlotCurve(title);
-    curve->setSamples(new FrameBufferSeries(buffer));
+    auto series = new FrameBufferSeries(buffer);
+    series->setXAxis(false, 100, 500);
+    curve->setSamples(series);
     _addCurve(curve);
 }
 
diff --git a/src/plotmanager.h b/src/plotmanager.h
--- a/src/plotmanager.h
+++ b/src/plotmanager.h
@@ -65,7 +65,7 @@ public slots:
     /// Enable display of a "DEMO" label on each plot
     void showDemoIndicator(bool show = true);
     /// Set the Y axis
-    void setAxis(bool autoScaled, double yMin = 0, double yMax = 1);
+    void setYAxis(bool autoScaled, double yMin = 0, double yMax = 1);
     /// Display an animation for snapshot
     void flashSnapshotOverlay();
     /// Should be called to update zoom base