                                 xPos: valuePoints[j].x + (val >= 0.0 ? posOffset : negOffset),
                                 yPos: valuePoints[j].y + yOffset,
                                 font: valueFont,
-                                align: .Left,
+                                align: textAlign,
                                 color: valueTextColor)
                         }
                         else

                            xPos: valuePoints[j].x + (val >= 0.0 ? posOffset : negOffset),
                            yPos: valuePoints[j].y + yOffset,
                            font: valueFont,
                            align: .Left,
                            color: valueTextColor)
                    }
                }

            var drawValueAboveBar = delegate!.barChartIsDrawValueAboveBarEnabled(self)
            var drawValuesForWholeStackEnabled = delegate!.barChartIsDrawValuesForWholeStackEnabled(self)
            
            let textAlign = drawValueAboveBar ? NSTextAlignment.Left : NSTextAlignment.Right
            
            let valueOffsetPlus: CGFloat = 5.0
            var posOffset: CGFloat
