{ "type": "class",
  "qname": "mx.charts.CategoryAxis",
  "baseClassname": "mx.charts.chartClasses.AxisBase"
  ,
    "description": "The CategoryAxis class lets charts represent data grouped by a set of discrete values along an axis. You typically use the CategoryAxis class to define a set of labels that appear along an axis of a chart. For example, charts that render data according to City, Year, Business unit, and so on.  <p>You are not required to explicitly set the <code>dataProvider</code> property on a CategoryAxis. A CategoryAxis used in a chart inherits its <code>dataProvider</code> property from the containing chart.</p>  <p>While you can use the same data provider to provide data to the chart and categories to the CategoryAxis, a CategoryAxis can optimize rendering if its data provider is relatively static. If possible, ensure that the categories are relatively static and that changing data is stored in separate data providers.</p>  <p>The <code>dataProvider</code> property can accept either an array of strings or an array of records (Objects) with a property that specifies the category name. If you specify a <code>categoryField</code> property, the CategoryAxis assumes that the data provider is an array of Objects. If the value of the <code>categoryField</code> property is <code>null</code>, the CategoryAxis assumes that the data provider is an array of Strings.</p>   <p>The <code>&lt;mx:CategoryAxis&gt;</code> tag inherits all the properties of its parent classes and adds the following properties:</p>  <pre>\\n &lt;mx:CategoryAxis\\n <strong>Properties</strong>\\n categoryField=&quot;null&quot;\\n dataFunction=&quot;<i>No default</i>&quot;\\n dataProvider=&quot;<i>No default</i>&quot;\\n labelFunction=&quot;<i>No default</i>&quot;\\n padding=&quot;<i>Default depends on chart type</i>&quot;\\n ticksBetweenLabels=&quot;<i>true</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/HLOCChartExample.mxml"]},
      {  "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.CategoryAxis",
        "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": "write-only",
        "return": "Object",
        "qname": "chartDataProvider",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "baseline",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "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-write",
        "return": "String",
        "qname": "categoryField",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the field of the data provider containing the text for the labels. If this property is <code>null</code>, CategoryAxis assumes that the dataProvider contains an array of Strings.",
        "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": "Function",
        "qname": "dataFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a method that returns the value that should be used as categoryValue for current item.If this property is set, the return value of the custom data function takes precedence over <code>categoryField</code>  <p>The custom <code>dataFunction</code> has the following signature:  <pre>\\n <i>function_name</i> (axis:CategoryAxis, item:Object):Object { ... }\\n </pre>  <code>axis</code> is the current axis that uses this <code>dataFunction</code> <code>item</code> is the item in the dataProvider that is considered. This function returns an object. </p>  <p>An example usage of a customized <code>dataFunction</code> is to return a value from a dataProvider that has items with nested fields</p>  <pre>\\n public function myFunction(axis:CategoryAxis,item:Object):Object {\\n return(item.Country.State);\\n }\\n </pre>",
        "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": "Object",
        "qname": "dataProvider",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the data source containing the label names. The <code>dataProvider</code> can be an Array of Strings, an Array of Objects, or any object that implements the IList or ICollectionView interface. If the <code>dataProvider</code> is an Array of Strings, ensure that the <code>categoryField</code> property is set to <code>null</code>. If the dataProvider is an Array of Objects, set the <code>categoryField</code> property to the name of the field that contains the label text.",
        "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": "Function",
        "qname": "labelFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a function that defines the labels that are generated for each item in the CategoryAxis's <code>dataProvider</code>. If no <code>labelFunction</code> is provided, the axis labels default to the value of the category itself.  <p>The <code>labelFunction</code> method for a CategoryAxis has the following signature:</p> <pre>\\n function <i>function_name</i>(<i>categoryValue</i>:Object, <i>previousCategoryValue</i>:Object, <i>axis</i>:CategoryAxis, <i>categoryItem</i>:Object):String { ... }\\n </pre>  <p>Where:</p> <ul> <li><code><i>categoryValue</i></code> is the value of the category to be represented.</li> <li><code><i>previousCategoryValue</i></code> is the value of the previous category on the axis.</li> <li><code><i>axis</i></code> is the CategoryAxis being rendered.</li> <li><code><i>categoryItem</i></code> is the item from the <code>dataProvider</code> that is being represented.</li> </ul>  <p>Flex displays the returned String as the axis label.</p>  <p>If the <code>categoryField</code> property is not set, the value will be the same as the <code>categoryValue</code> property.</p>",
        "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": "padding",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the padding added to either side of the axis when rendering data on the screen. Set to 0 to map the first category to the very beginning of the axis and the last category to the end. Set to 0.5 to leave padding of half the width of a category on the axis between the beginning of the axis and the first category and between the last category and the end of the axis.  <p>This is useful for chart types that render beyond the bounds of the category, such as columns and bars. However, when used as the horizontalAxis in a LineChart or AreaChart, it is reset to 0.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["0.5"]},
            {  "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": "ticksBetweenLabels",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the location of major tick marks on the axis, relative to the category labels. If <code>true</code>, tick marks (and any associated grid lines) appear between the categories. If <code>false</code>, tick marks appear in the middle of the category, aligned with the label.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "mapCache",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#mapCache()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"},
        { "name": "convertedField", "type": "String"},
        { "name": "indexValues", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "filterCache",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#filterCache()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"},
        { "name": "filteredField", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "transformCache",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#transformCache()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"},
        { "name": "convertedField", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "invertTransform",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#invertTransform()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "value", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "formatForScreen",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#formatForScreen()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "value", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "getLabelEstimate",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#getLabelEstimate()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.charts.chartClasses.AxisLabelSet",
          "params": []}
      ,
      { "type": "method",
        "qname": "preferDropLabels",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#preferDropLabels()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": []}
      ,
      { "type": "method",
        "qname": "getLabels",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#getLabels()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.charts.chartClasses.AxisLabelSet",
          "params": [{ "name": "minimumAxisLength", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "reduceLabels",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#reduceLabels()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.charts.chartClasses.AxisLabelSet",
          "params": [{ "name": "intervalStart", "type": "mx.charts.AxisLabel"},
        { "name": "intervalEnd", "type": "mx.charts.AxisLabel"}]}
      ,
      { "type": "method",
        "qname": "update",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.charts.chartClasses.IAxis#update()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ]
  }
