     // #################
     
     /// Whether or not to show the labels on the x-axis for each point.
-    public var shouldShowLabels = true
+    @IBInspectable public var shouldShowLabels: Bool = true
     /// How far from the "minimum" reference line the data point labels should be rendered.
-    public var dataPointLabelTopMargin: CGFloat = 10
+    @IBInspectable public var dataPointLabelTopMargin: CGFloat = 10
     /// How far from the bottom of the view the data point labels should be rendered.
     public var dataPointLabelBottomMargin: CGFloat = 0
     /// The font for the data point labels.
-    public var dataPointLabelColor = UIColor.blackColor()
+    @IBInspectable public var dataPointLabelColor: UIColor = UIColor.blackColor()
     /// The colour for the data point labels.
     public var dataPointLabelFont: UIFont? = UIFont.systemFontOfSize(10)
     /// Used to force the graph to show every n-th dataPoint label

    // ###########
    
    /// If this is set to true, then the range will automatically be detected from the data the graph is given.
    public var shouldAutomaticallyDetectRange = false
    /// Forces the graph's minimum to always be zero. Used in conjunction with shouldAutomaticallyDetectRange or shouldAdaptRange, if you want to force the minimum to stay at 0 rather than the detected minimum.
    public var shouldRangeAlwaysStartAtZero = false // Used in conjunction with shouldAutomaticallyDetectRange, if you want to force the min to stay at 0.
    /// The minimum value for the y-axis. This is ignored when shouldAutomaticallyDetectRange or shouldAdaptRange = true
    public var rangeMin: Double = 0
    /// The maximum value for the y-axis. This is ignored when shouldAutomaticallyDetectRange or shouldAdaptRange = true
    public var rangeMax: Double = 100
    
    // Data Point Drawing
    // ##################
    
    /// Whether or not to draw a symbol for each data point.
    public var shouldDrawDataPoint = true
    /// The shape to draw for each data point.
    public var dataPointType = ScrollableGraphViewDataPointType.Circle
    /// The size of the shape to draw for each data point.
    public var dataPointSize: CGFloat = 5
    /// The colour with which to fill the shape.
    public var dataPointFillColor: UIColor = UIColor.blackColor()
    /// If dataPointType is set to .Custom then you,can provide a closure to create any kind of shape you would like to be displayed instead of just a circle or square. The closure takes a CGPoint which is the centre of the shape and it should return a complete UIBezierPath.
    public var customDataPointPath: ((centre: CGPoint) -> UIBezierPath)?
    

    // #######
    
    /// How far the "maximum" reference line is from the top of the view's frame. In points.
    @IBInspectable public var topMargin: CGFloat = 10
    /// How far the "minimum" reference line is from the bottom of the view's frame. In points.
    @IBInspectable public var bottomMargin: CGFloat = 10
    /// How far the first point on the graph should be placed from the left hand side of the view.
    @IBInspectable public var leftmostPointPadding: CGFloat = 50
    /// How far the final point on the graph should be placed from the right hand side of the view.
    @IBInspectable public var rightmostPointPadding: CGFloat = 50
    /// How much space should be between each data point.
    @IBInspectable public var dataPointSpacing: CGFloat = 40
    /// Which side of the graph the user is expected to scroll from.
    public var direction = ScrollableGraphViewDirection.LeftToRight
    
