 		
 		private function drawLabel(number:Number, dataBounds:IBounds2D, screenBounds:IBounds2D, destination:BitmapData):void
 		{
-			bitmapText.text = StandardLib.formatNumber(number);
+			bitmapText.text = ColumnUtils.deriveStringFromNumber(text, number) || StandardLib.formatNumber(number);
 			try
 			{
 				if (labelFunction.value)
-					bitmapText.text = labelFunction.apply(null, [number, bitmapText.text]);
+					bitmapText.text = labelFunction.apply(null, [number, bitmapText.text, text]);
 			}
 			catch (e:Error)
 			{

		public const maxWidth:LinkableNumber = registerLinkableChild(this, new LinkableNumber(80));
		public const alignToDataMax:LinkableBoolean = registerLinkableChild(this, new LinkableBoolean(false));
		
		public const labelFunction:LinkableFunction = registerLinkableChild(this, new LinkableFunction('string', true, false, ['number', 'string']));

		/**
		 * Draws the graphics onto BitmapData.

	import weave.core.LinkableString;
	import weave.data.AttributeColumns.DynamicColumn;
	import weave.utils.BitmapText;
	import weave.utils.ColumnUtils;
	import weave.utils.LinkableTextFormat;
	
	/**
