         UIGraphicsBeginImageContextWithOptions(size, true, 0)
         UIColor.blackColor().setFill()
         UIRectFill(CGRectMake(0, 0, size.width, size.height))
-        drawBarsIfNumbers()
-        drawIndices(UIColor.whiteColor())
-        drawObjectDescriptions(CGFloat(0.2), textColor: UIColor.greenColor())
+        let indexObjectDividerX : CGFloat = 40
+        let indexObjectDividerMarginX : CGFloat = 5
+        let objectGraphDividerX : CGFloat = 70
+        drawLines(UIColor.grayColor())
+        drawLine(UIColor.grayColor(), x0: indexObjectDividerX - indexObjectDividerMarginX, y0: 0,
+                                      x1: indexObjectDividerX - indexObjectDividerMarginX, y1: size.height)
+        drawLine(UIColor.grayColor(), x0: objectGraphDividerX, y0: 0, x1: objectGraphDividerX, y1: size.height)
+        drawBarsIfNumbers(objectGraphDividerX)
+        drawIndices(UIColor.whiteColor(), xPos:5)
+        drawObjectDescriptions(CGFloat(indexObjectDividerX), textColor: UIColor.greenColor())
         let image = UIGraphicsGetImageFromCurrentImageContext()
         UIGraphicsEndImageContext()
         return image
     }
     
-    private func drawIndices(textColor:UIColor) {
+    private func drawIndices(textColor:UIColor, xPos:CGFloat) {
         let paragraphStyle = NSParagraphStyle.defaultParagraphStyle().mutableCopy() as! NSMutableParagraphStyle
         paragraphStyle.lineBreakMode = NSLineBreakMode.ByTruncatingTail
-        let textFontAttributes = [NSFontAttributeName: UIFont.systemFontOfSize(CGFloat(itemHeight)), NSForegroundColorAttributeName: textColor, NSParagraphStyleAttributeName: paragraphStyle]
+        let textFontAttributes = [NSFontAttributeName: UIFont.systemFontOfSize(CGFloat(itemHeight-2)), NSForegroundColorAttributeName: textColor, NSParagraphStyleAttributeName: paragraphStyle]
         for i in 0..<self.count() {
             let y = i * itemHeight
             let string : NSString? = self.storage.objectAtIndex(i).description
             if string != nil {
                 let indexString = String(i)
-                indexString.drawAtPoint(CGPointMake(10, CGFloat(y)), withAttributes: textFontAttributes)
-            }
-        }
-    }
-
-    private func drawObjectDescriptions(xPercentage:CGFloat, textColor:UIColor) {
+                indexString.drawAtPoint(CGPointMake(xPos, CGFloat(y)), withAttributes: textFontAttributes)
+            }
+        }
+    }
+
+    private func drawObjectDescriptions(xPos:CGFloat, textColor:UIColor) {
         let paragraphStyle = NSParagraphStyle.defaultParagraphStyle().mutableCopy() as! NSMutableParagraphStyle
         paragraphStyle.lineBreakMode = NSLineBreakMode.ByTruncatingTail
-        let textFontAttributes = [NSFontAttributeName: UIFont.systemFontOfSize(CGFloat(itemHeight)), NSForegroundColorAttributeName: textColor, NSParagraphStyleAttributeName: paragraphStyle]
+        let textFontAttributes = [NSFontAttributeName: UIFont.systemFontOfSize(CGFloat(itemHeight-2)), NSForegroundColorAttributeName: textColor, NSParagraphStyleAttributeName: paragraphStyle]
         for i in 0..<self.count() {
             let y = i * itemHeight
             let string : NSString? = self.storage.objectAtIndex(i).description
             if string != nil {
-                string?.drawAtPoint(CGPointMake(xPercentage * CGFloat(viewWidth), CGFloat(y)), withAttributes: textFontAttributes)
+                string?.drawAtPoint(CGPointMake(xPos, CGFloat(y)), withAttributes: textFontAttributes)
             }
         }
     }

                if object != nil {
                    if object is Double || object is Float || object is Int {
                        let d = getDoubleForObject(object)
                        var x0Line : Double = 0
                        if ( min < 0 ) {
                            x0Line = getPercentageInRange(-min, min: min, max: max) * Double(viewWidth)
                        }
                        var rectPath : UIBezierPath
                        if ( d > 0 ) {
                            let posBarWidth = getPercentageInRange(d, min: min, max: max) * Double(viewWidth)
                            rectPath = UIBezierPath(rect: CGRectMake(CGFloat(x0Line),CGFloat(y+1),CGFloat(posBarWidth),barHeight))
                        } else {
                            let negBarWidth = getPercentageInRange(-d, min: min, max: max) * Double(viewWidth)
                            rectPath = UIBezierPath(rect: CGRectMake(CGFloat(x0Line - negBarWidth),CGFloat(y+1),CGFloat(negBarWidth),barHeight))
                        }
                        UIColor.blueColor().setFill()

            if ( min > 0 ) {
                min = 0
            }
            let width : CGFloat = CGFloat(viewWidth - xPos)
            for i in 0..<self.count() {
                let y = i * itemHeight
                let barHeight : CGFloat = CGFloat(itemHeight - 2)
