<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:parallel="org.un.cava.birdeye.qavis.parallel.*" xmlns:util="com.michaelvandaniker.visualization.util.*" backgroundColor="0xffffff" backgroundGradientColors="[0xffffff,0xffffff]" initialize="start()" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.managers.ToolTipManager; private const toolTipFields:Array = ["Cereal","Calories","Protein","Fat", "Sodium","Fiber","Carbohydrates","Sugars","Potassium","Vitamins"]; private function start():void { ToolTipManager.showDelay = 0; csv.parse(); } private function writeSelectedItemsLabel(arr:Array):String { var toReturn:String = ""; for(var a:int = 0; a < arr.length; a++) { toReturn += arr[a]["Cereal"]; if(a < arr.length - 1) toReturn += ", "; } return toReturn; } private function writeToolTip(toolTipItems:Array):String { if(toolTipItems.length == 0) { return ""; } else if(toolTipItems.length == 1) { var toReturn:String = ""; for each(var cereal:Object in toolTipItems) { for each(var field:String in toolTipFields) { toReturn += field + ": " + cereal[field] + "\n"; } } return toReturn; } else { return toolTipItems.length + " cereals"; } } ]]> </mx:Script> <util:CSVParser id="csv"> <mx:String source="/data/cereal.csv"/> </util:CSVParser> <parallel:ParallelCoordinatePlot id="pcp" dataProvider="{csv.rows}" toolTipFunction="{writeToolTip}" width="100%" height="100%"> <parallel:axisRenderers> <parallel:ParallelCoordinateAxisRenderer fieldName="Calories"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Protein"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Fat"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Sodium"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Fiber"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Carbohydrates"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Sugars"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Potassium"/> <parallel:ParallelCoordinateAxisRenderer fieldName="Vitamins"/> </parallel:axisRenderers> </parallel:ParallelCoordinatePlot> <mx:Label text="{writeSelectedItemsLabel(pcp.selectedItems)}"/> </mx:Application>