 package weave.visualization.plotters
 {
 	import flash.display.BitmapData;
+	import flash.utils.Dictionary;
 	
 	import mx.utils.ObjectUtil;
 	

				
		private function updateKeys():void
		{
			getAllKeys(_keySet,[xColumn,yColumn,radiusColumn,colorColumn]);
		}
	}
}

		public function get radiusColumn():DynamicColumn { return circlePlotter.screenRadius; }
		public function get zoomToSubset():LinkableBoolean { return circlePlotter.zoomToSubset; }
		
		private function getAllKeys(...inputKeySets):Array
		{
			var lookup:Dictionary = new Dictionary(true);
			var result:Array = [];
			for (var i:int = 0; i < inputKeySets.length; i++)
			{
				var keys:Array = (inputKeySets[i] as IKeySet).keys;
				for (var j:int = 0; j < keys.length; j++)
				{
					var key:IQualifiedKey = keys[j] as IQualifiedKey;
					if (lookup[key] === undefined)
					{
						lookup[key] = true;
						result.push(key);
					}
				}
			}
			return result;
		}
		
		override public function getDataBoundsFromRecordKey(recordKey:IQualifiedKey):Array
