     // ###########
     
     /// If this is set to true, then the range will automatically be detected from the data the graph is given.
-    public var shouldAutomaticallyDetectRange = false
+    @IBInspectable public var shouldAutomaticallyDetectRange: Bool = 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.
+    @IBInspectable public var shouldRangeAlwaysStartAtZero: Bool = 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
+    @IBInspectable 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
+    @IBInspectable public var rangeMax: Double = 100
     
     // Data Point Drawing
     // ##################
     
     /// Whether or not to draw a symbol for each data point.
-    public var shouldDrawDataPoint = true
+    @IBInspectable public var shouldDrawDataPoint: Bool = 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
+    @IBInspectable public var dataPointSize: CGFloat = 5
     /// The colour with which to fill the shape.
-    public var dataPointFillColor: UIColor = UIColor.blackColor()
+    @IBInspectable 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)?
     

    // ###########
    
    /// Specifies how thick the graph of the line is. In points.
    public var lineWidth: CGFloat = 2
    /// The color of the graph line. UIColor.
    public var lineColor = UIColor.blackColor()
    /// Whether or not the line should be rendered using bezier curves are straight lines.
    public var lineStyle = ScrollableGraphViewLineStyle.Straight
    /// How each segment in the line should connect. Takes any of the Core Animation LineJoin values.
    public var lineJoin = kCALineJoinRound
    /// The line caps. Takes any of the Core Animation LineCap values.
    public var lineCap = kCALineCapRound
    public var lineCurviness: CGFloat = 0.5
    
    // Bar styles
    // ##########
    
    /// Whether bars should be drawn or not. If you want a bar graph, this should be set to true.
    public var shouldDrawBarLayer = false
    /// The width of an individual bar on the graph.
    public var barWidth: CGFloat = 25;
    /// The actual colour of the bar.
    public var barColor = UIColor.grayColor()
    /// The width of the outline of the bar
    public var barLineWidth: CGFloat = 1
    /// The colour of the bar outline
    public var barLineColor = UIColor.darkGrayColor()
    
    // Fill Styles
    // ###########
    
    /// The background colour for the entire graph view, not just the plotted graph.
    public var backgroundFillColor = UIColor.whiteColor()
    
    /// Specifies whether or not the plotted graph should be filled with a colour or gradient.
    public var shouldFill = false
    /// Specifies whether to fill the graph with a solid colour or gradient.
    public var fillType = ScrollableGraphViewFillType.Solid
    /// If fillType is set to .Solid then this colour will be used to fill the graph.
    public var fillColor = UIColor.blackColor()
    /// If fillType is set to .Gradient then this will be the starting colour for the gradient.
    public var fillGradientStartColor = UIColor.whiteColor()
    /// If fillType is set to .Gradient, then this will be the ending colour for the gradient.
    public var fillGradientEndColor = UIColor.blackColor()
    /// If fillType is set to .Gradient, then this defines whether the gradient is rendered as a linear gradient or radial gradient.
    public var fillGradientType = ScrollableGraphViewGradientType.Linear
    

    // #################
    
    /// Whether or not to show the labels on the x-axis for each point.
    @IBInspectable public var shouldShowLabels: Bool = true
    /// How far from the "minimum" reference line the data point labels should be rendered.
    @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.
    @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
