Using XML for LineChart : Line Chart « Chart « Flex






Using XML for LineChart

Using XML for LineChart
       

<!--
Code from Flex 4 Documentation "Using Adobe Flex 4".

This user guide is licensed for use under the terms of the Creative Commons Attribution 
Non-Commercial 3.0 License. 

This License allows users to copy, distribute, and transmit the user guide for noncommercial 
purposes only so long as 
  (1) proper attribution to Adobe is given as the owner of the user guide; and 
  (2) any reuse or distribution of the user guide contains a notice that use of the user guide is governed by these terms. 
The best way to provide notice is to include the following link. 
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/

-->



    <!-- charts/VariableSeries.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
    creationComplete="initApp();" height="600">
    <fx:Script> 
        import mx.charts.series.LineSeries; 
        import mx.charts.DateTimeAxis; 
        [Bindable] 
        private var myXML:XML = <dataset> 
            <item> 
            <who>Tom</who> 
            <when>08/22/2006</when> 
            <hours>5.5</hours> 
            </item> 
            <item> 
            <who>Tom</who> 
            <when>08/23/2006</when> 
            <hours>6</hours> 
            </item> 
            <item> 
            <who>Tom</who> 
            <when>08/24/2006</when> 
            <hours>4.75</hours> 
            </item> 
            <item> 
            <who>Dick</who> 
            <when>08/22/2006</when> 
            <hours>6</hours> 
            </item> 
            <item> 
            <who>Dick</who> 
            <when>08/23/2006</when> 
            <hours>8</hours> 
            </item> 
            <item> 
            <who>Dick</who> 
            <when>08/24/2006</when> 
            <hours>7.25</hours> 
            </item> 
            <item> 
            <who>Jane</who> 
            <when>08/22/2006</when> 
            <hours>6.5</hours> 
            </item> 
            <item> 
            <who>Jane</who> 
            <when>08/23/2006</when> 
            <hours>9</hours> 
            </item> 
            <item> 
            <who>Jane</who> 
            <when>08/24/2006</when> 
            <hours>3.75</hours> 
            </item> 
            </dataset>; 
        public function initApp():void { 
            var wholist:Array = new Array(); 
            for each(var property:XML in myXML.item.who) { 
                // Create an Array of unique names. 
                if (wholist[property] != property) 
                    wholist[property] = property; 
            } 
            // Iterate over names and create a new series 
            // for each one. 
            for (var s:String in wholist) { 
                // Use all items whose name matches s. 
                var localXML:XMLList = myXML.item.(who==s); 
                // Create the new series and set its properties. 
                var localSeries:LineSeries = new LineSeries(); 
                localSeries.dataProvider = localXML; 
                localSeries.yField = "hours"; 
                localSeries.xField = "when"; 
                // Set values that show up in dataTips and Legend. 
                localSeries.displayName = s; 
                // Back up the current series on the chart. 
                var currentSeries:Array = myChart.series; 
                // Add the new series to the current Array of series. 
                currentSeries.push(localSeries); 
                // Add the new Array of series to the chart. 
                myChart.series = currentSeries; 
            } 
            // Create a DateTimeAxis horizontal axis. 
            var hAxis:DateTimeAxis = new DateTimeAxis(); 
            hAxis.dataUnits = "days"; 
            // Set this to false to display the leftmost label. 
            hAxis.alignLabelsToUnits = false; 
            // Take the date in its current format and create a Date 
            // object from it. 
            hAxis.parseFunction = createDate; 
            myChart.horizontalAxis = hAxis; 
        } 
        public function createDate(s:String):Date { 
            // Reformat the date input to create Date objects 
            // for the axis. 
            var a:Array = s.split("/"); 
            // The existing String s is in the format "MM/DD/YYYY". 
            // To create a Date object, you pass "YYYY,MM,DD", 
            // where MM is zero-based, to the Date() constructor. 
            var newDate:Date = new Date(a[2],a[0]-1,a[1]); 
            return newDate; 
        } 
      </fx:Script>
    <s:layout>
        <s:VerticalLayout />
    </s:layout>
    <s:Panel title="Line Chart with Variable Number of Series">
        <s:layout>
            <s:HorizontalLayout />
        </s:layout>
        <mx:LineChart id="myChart" showDataTips="true" />
        <mx:Legend dataProvider="{myChart}" />
    </s:Panel>
</s:Application>

   
    
    
    
    
    
    
  








Related examples in the same category

1.Line chart with LineSeries and CategoryAxisLine chart with LineSeries and CategoryAxis
2.Adding a legend to LineChartAdding a legend to LineChart
3.Create a LineChart controlCreate a LineChart control
4.Line Chart DemoLine Chart Demo
5.CSS for LineChartCSS for LineChart
6.Create a thick blue line for the LineChart control's line segments, with large red boxes at each data pointCreate a thick blue line for the LineChart control's line segments, with large red boxes at each data point
7.Segment Form LineChartSegment Form LineChart
8.Step form LineChartStep form LineChart
9.reverse Step LineChartreverse Step LineChart
10.Vertical Form LineChartVertical Form LineChart
11.horizontal LineCharthorizontal LineChart
12.Curve LineChartCurve LineChart
13.Variable Series for LineChartVariable Series for LineChart
14.Track totalMemory property in a LineChart control in real timeTrack totalMemory property in a LineChart control in real time
15.Create a LineChart control that displays vertical linesCreate a LineChart control that displays vertical lines
16.Line Chart with line strokeLine Chart with line stroke
17.Data Update In Real TimeData Update In Real Time
18.Formatting linesFormatting lines
19.Set the lineSegmentRenderer to the ShadowLineRenderer classSet the lineSegmentRenderer to the ShadowLineRenderer class
20.To hide the axis line, set the value of the showLine property on the AxisRenderer object to falseTo hide the axis line, set the value of the showLine property on the AxisRenderer object to false
21.About the LinearAxis subclassAbout the LinearAxis subclass
22.Set the minimum and maximum values of a LogAxis objectSet the minimum and maximum values of a LogAxis object
23.Use a String value for the date that matches the MM/DD/YYYY pattern and specifies that the dates are displayed in units of daysUse a String value for the date that matches the MM/DD/YYYY pattern and specifies that the dates are displayed in units of days
24.Shows a parsing method that creates a Date object from String values in the data provider that match the 'YYYY, MM, DD' pattern:Shows a parsing method that creates a Date object from String values in the data provider that match the 'YYYY, MM, DD' pattern:
25.Exclude August 13, and then the range of days between August 27 and August 31Exclude August 13, and then the range of days between August 27 and August 31
26.The following example defines the range of the y-axis:The following example defines the range of the y-axis:
27.extract the data from the HTML page by using regular expressions.extract the data from the HTML page by using regular expressions.
28.Bind data provider to a local variableBind  data provider to a local variable
29.Use ActionScript to set TraceTargetUse ActionScript to set TraceTarget
30.Set TraceTarget filters to log target by using MXMLSet TraceTarget filters to log target by using MXML
31.Basic Line StrokeBasic Line Stroke
32.Dynamic chart with TimerDynamic chart with Timer