{ "type": "class",
  "qname": "mx.charts.series.LineSeries",
  "baseClassname": "mx.charts.chartClasses.Series"
  ,
    "description": "Defines a data series for a LineChart control. By default, this class uses the ShadowLineRenderer class. Optionally, you can define an itemRenderer for the data series. The itemRenderer must implement the IDataRenderer interface.   <p>The <code>&lt;mx:LineSeries&gt;</code> tag inherits all the properties of its parent classes and adds the following properties:</p>  <pre>\\n &lt;mx:LineSeries\\n <strong>Properties</strong>\\n fillFunction=&quot;<i>Internal fill function</i>&quot;\\n horizontalAxis=&quot;<i>No default</i>&quot;\\n interpolateValues=&quot;false|true&quot;\\n sortOnXField=&quot;false|true&quot;\\n verticalAxis=&quot;<i>No default</i>&quot;\\n xField=&quot;null&quot;\\n yField=&quot;null&quot;\\n \\n <strong>Styles</strong>\\n adjustedRadius=&quot;2&quot;\\n fill=&quot;0xFFFFFF&quot;\\n fills=&quot;<i>IFill; no default</i>&quot;\\n form=&quot;segment|curve|horizontal|reverseStep|step|vertical&quot;\\n itemRenderer=&quot;<i>itemRenderer</i>&quot;\\n legendMarkerRenderer=&quot;<i>Defaults to series's itemRenderer</i>&quot;\\n lineSegmentRenderer=&quot;<i>ShadowLineRenderer</i>&quot;\\n lineStroke=&quot;Stroke(0xE47801,3)&quot;\\n radius=&quot;4&quot;\\n stroke=&quot;<i>IStroke; no default</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["../examples/Line_AreaChartExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.charts.LineChart", "mx.core.IDataRenderer"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.charts.series.LineSeries",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "legendData",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "renderData",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "fillFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a method that returns the fill for the current chart item in the series. If this property is set, the return value of the custom fill function takes precedence over the <code>fill</code> and <code>fills</code> style properties. But if it returns null, then <code>fills</code> and <code>fill</code> will be prefered in that order.  <p>The custom <code>fillFunction</code> has the following signature:  <pre>\\n <i>function_name</i> (item:ChartItem, index:Number):IFill { ... }\\n </pre>  <code>item</code> is a reference to the chart item that is being rendered. <code>index</code> is the index of the chart item in the renderData's cache. This is different from the index of the chart's data provider because it is sorted based on the x, y, and z values. This function returns an object that implements the <code>IFill</code> interface. </p>  <p>An example usage of a customized <code>fillFunction</code> is to return a fill based on some threshold.</p>  <pre>\\n public function myFillFunction(item:ChartItem, index:Number):IFill {\\n var curItem:LineSeriesItem = LineSeriesItem(item);\\n if (curItem.yNumber > 10)\\n return(new SolidColor(0x123456, .75));\\n else\\n return(new SolidColor(0x563412, .75));\\n }\\n </pre>  <p> If you specify a custom fill function for your chart series and you want to have a Legend control, you must manually create a Legend control and add LegendItems to it. </p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "example",
               "values": []},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.charts.chartClasses.IAxis",
        "qname": "horizontalAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Defines the labels, tick marks, and data position for items on the x-axis. Use either the LinearAxis class or the CategoryAxis class to set the properties of the horizontalAxis as a child tag in MXML or create a LinearAxis or CategoryAxis object in ActionScript.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "interpolateValues",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies how to represent missing data.  <p>Set to <code>false</code> to break the line at the missing value. Set to <code>true</code> to draw a continuous line by interpolating the missing value.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "items",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Class",
        "qname": "itemType",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The subtype of ChartItem used by this series to represent individual items. Subclasses can override and return a more specialized class if they need to store additional information in the items.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Class",
        "qname": "lineSegmentType",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The class used by this series to store all data necessary to represent a line segment. Subclasses can override and return a more specialized class if they need to store additional information for rendering.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.graphics.IStroke",
        "qname": "lineStroke",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Sets the stroke for the actual line segments. The default value for a LineChart control is orange (<code>0xE48701</code>). The default color for a LineSeries used in a CartesianChart control is black (<code>0x000000</code>). The default value for the width is 3.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "radius",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the radius, in pixels, of the chart elements for the data points. This property applies only if you specify an item renderer using the <code>itemRenderer</code> property. You can specify the <code>itemRenderer</code> in MXML or using styles.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Class",
        "qname": "renderDataType",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The subtype of ChartRenderData used by this series to store all data necessary to render. Subclasses can override and return a more specialized class if they need to store additional information for rendering.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "sortOnXField",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Requests the line datapoints be sorted from left to right before rendering.  <p>By default, the LineSeries renders points from left to right. Set this property to <code>false</code> to render the items in the order they appear in the data provider.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.charts.chartClasses.IAxis",
        "qname": "verticalAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Defines the labels, tick marks, and data position for items on the y-axis. Use either the LinearAxis class or the CategoryAxis class to set the properties of the verticalAxis as a child tag in MXML or create a LinearAxis or CategoryAxis object in ActionScript.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "xField",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the field of the data provider that determines the x-axis location of each data point. If <code>null</code>, the data points are rendered in the order they appear in the data provider.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "yField",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the field of the data provider that determines the y-axis location of each data point. If <code>null</code>, the LineSeries assumes the data provider is an Array of numbers, and uses the numbers as values.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFlexModuleFactory",
        "qname": "moduleFactory",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "commitProperties",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "applyItemRendererProperties",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Customizes the item renderer instances that are used to represent the chart. This method is called automatically whenever a new item renderer is needed while the chart is being rendered. You can override this method to add your own customization as necessary.",
        "tags": [
        {  "tagName": "param",
               "values": ["instance The new item renderer instance that is being created.", "cache The InstanceCache that is used to manage the item renderer instances."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "instance", "type": "mx.core.UIComponent"},
        { "name": "cache", "type": "mx.charts.chartClasses.InstanceCache"}]}
      ]
  }



