diff --git a/src/framebufferseries.cpp b/src/framebufferseries.cpp
--- a/src/framebufferseries.cpp
+++ b/src/framebufferseries.cpp
@@ -17,6 +17,7 @@
   along with serialplot.  If not, see .
 */
 
+#include 
 #include "framebufferseries.h"
 
 FrameBufferSeries::FrameBufferSeries(FrameBuffer* buffer)
@@ -73,15 +74,15 @@ void FrameBufferSeries::setRectOfInteres
 {
     if (xAsIndex)
     {
-        int_index_start = rect.left();
-        int_index_end = rect.right();
+        int_index_start = floor(rect.left())-1;
+        int_index_end = ceil(rect.right())+1;
     }
     else
     {
         double xsize = _xmax - _xmin;
         size_t bsize = _buffer->size();
-        int_index_start =  bsize * (rect.left()-_xmin) / xsize;
-        int_index_end = bsize * (rect.right()-_xmin) / xsize;
+        int_index_start =  floor(bsize * (rect.left()-_xmin) / xsize)-1;
+        int_index_end = ceil(bsize * (rect.right()-_xmin) / xsize)+1;
     }
 
     int_index_start = std::max(int_index_start, (size_t) 0);