CategoryAxis | JavaScript Stock Charts v. 3 | amCharts

Inheritance: CategoryAxis → AxisBase

Extension for AxisBase, gets automatically populated if none has been specified.

### Example

    var chart = AmCharts.makeChart("chartdiv",{
      ...
      "categoryAxis": {
        "gridPosition": "start"
      }
    });

### Properties Hide inherited Show inherited

Property | Type | Default | Description
--- | --- | --- | ---
autoGridCount | Boolean | true | Specifies whether number of gridCount is specified automatically, acoarding to the axis size.
autoRotateAngle | Number |  | Angle of label rotation, if the number of series exceeds autoRotateCount and parseDates is set to false.
autoRotateCount | Number |  | If the number of category axis items will exceed the autoRotateCount, the labels will be rotated by autoRotateAngle degree. Works only if parseDates is false.
autoWrap | Boolean | false | Specifies if axis labels (only when it is horizontal) should be wrapped if they don't fit in the allocated space. If axis is vertical, you should set axis.ignoreAxisWidth to true in order this feature to work.
axisAlpha | Number | 1 | Axis opacity. Value range is 0 - 1.
axisColor | Color | #000000 | Axis color.
axisThickness | Number | 1 | Thickness of the axis.
axisX | Number |  | Read-only. Returns x coordinate of the axis.
axisY | Number |  | Read-only. Returns y coordinate of the axis.
balloon | AmBalloon | AmBalloon | Allows customizing axes balloons individually.
boldLabels | Boolean | false | Specifies if axis labels should be bold or not.
boldPeriodBeginning | Boolean | true | When parse dates is on for the category axis, the chart will try to highlight the beginning of the periods, like month, in bold. Set this to false to disable the functionality.
categoryFunction |  |  | 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 categoryField. When a chart calls this method, it passes category value, data item from chart's data provider and reference to categoryAxis: categoryFunction(category, dataItem, categoryAxis); This method can be used both when category axis parses dates and when it doesn't. If axis parses dates, your categoryFunction should return Date object. For example, if you have date strings in your data, you can use this method to convert these strings into Date objects.
centerLabelOnFullPeriod | Boolean | true | This setting works only when parseDates is set to true and equalSpacing is set to false. In case you set it to false, labels will never be centered between grid lines.
centerLabels | Boolean | false | Force-centers labels of date-based axis (in case it's category axis, equalSpacing must be false)
centerRotatedLabels | Boolean | false | In case you have rotated labels on horizontal axis, you can force-center them using this property.
classNameField | String |  | If this field is set and addClassNames is enabled, the category axis labels, ticks and grid will have this class name set. NOTE: this will not work if the axis is date-based.
color | Color |  | Color of axis value labels. Will use chart's color if not set.
dashLength | Number | 0 | Length of a dash. 0 means line is not dashed.
dateFormats | Array[Object] | [{"period":"fff","format":"JJ:NN:SS"},{"period":"ss","format":"JJ:NN:SS"},{"period":"mm","format":"JJ:NN"},{"period":"hh","format":"JJ:NN"},{"period":"DD","format":"MMM DD"},{"period":"WW","format":"MMM DD"},{"period":"MM","format":"MMM"},{"period":"YYYY","format":"YYYY"}] | Date formats of different periods. Possible period values: fff - milliseconds, ss - seconds, mm - minutes, hh - hours, DD - days, MM - months, WW - weeks, YYYY - years. Check this page for date formatting strings.
equalSpacing | Boolean | false | In case your category axis values are Date objects and parseDates is set to true, the chart will parse dates and will place your data points at irregular intervals. However if you want dates to be parsed (displayed on the axis, baloons, etc), but data points to be placed at equal intervals (omiting dates with no data), set equalSpacing to true.
fillAlpha | Number | 0 | Fill opacity. Every second space between grid lines can be filled with color. Set fillAlpha to a value greater than 0 to see the fills.
fillColor | Color | #FFFFFF | Fill color. Every second space between grid lines can be filled with color. Set fillAlpha to a value greater than 0 to see the fills.
firstDayOfWeek | Number | 1 | Sets first day of the week. 0 is Sunday, 1 is Monday, etc.
fontSize | Number |  | Size of value labels text. Will use chart's fontSize if not set.
forceShowField | String |  | Field in data provider which specifies if the category value should always be shown. For example: categoryAxis.forceShowField = "forceShow"; And in data: {category:"one", forceShow:true, value:100} Note, this works only when parseDates is set to false.
gridAlpha | Number | 0.15 | Opacity of grid lines.
gridColor | Color | #000000 | Color of grid lines.
gridCount | Number | 5 | Number of grid lines. In case this is value axis, or your categoryAxis parses dates, the number is approximate. The default value is 5. If you set autoGridCount to true, this property is ignored.
gridPosition | String | middle | Specifies if a grid line is placed on the center of a cell or on the beginning of a cell. Possible values are: "start" and "middle" This setting doesn't work if parseDates is set to true.
gridThickness | Number | 1 | Thickness of grid lines.
guides | Array[Guide] | [] | The array of guides belonging to this axis.
ignoreAxisWidth | Boolean | false | If autoMargins of a chart is set to true, but you want this axis not to be measured when calculating margin, set ignoreAxisWidth to true.
inside | Boolean | false | Specifies whether values should be placed inside or outside plot area.
labelColorField | String |  | You can use it to set color of a axis label. Works only with non-date-based data.
labelFrequency | Number | 1 | Frequency at which labels should be placed. Doesn't work for CategoryAxis if parseDates is set to true.
labelFunction |  |  | You can use this function to format Category axis labels. If this function is set, then it is called with the following parameters passed: if dates are not parsed: labelFunction(valueText, serialDataItem, categoryAxis) if dates are parsed: labelFunction(valueText, date, categoryAxis) Your function should return string which will be displayed on the axis.
labelOffset | Number | 0 | You can use it to adjust position of axes labels. Works both with CategoryAxis and ValueAxis.
labelRotation | Number | 0 | Rotation angle of a label. Only horizontal axis' values can be rotated. If you set this for vertical axis, the setting will be ignored. Possible values from -90 to 90.
labelsEnabled | Boolean | true | Specifies whether axis displays category axis' labels and value axis' values.
listeners | Array[Object] |  | You can add listeners of events using this property. Example: listeners = [{"event":"clickItem", "method":handleEvent}];
markPeriodChange | Boolean | true | If you set it to false, the start of longer periods won't use a different date format and won't be bold.
minHorizontalGap | Number | 75 | This property is used when calculating grid count (when autoGridCount is true). It specifies minimum cell width required for one span between grid lines.
minorGridAlpha | Number | 0.07 | Opacity of minor grid. In order minor to be visible, you should set minorGridEnabled to true.
minorGridEnabled | Boolean | false | Specifies if minor grid should be displayed. NOTE: If equalSpacing is set to true, this setting will be ignored.
minorTickLength | Number | 0 | Length of minor grid tick.
minPeriod | String | DD | Specifies the shortest period of your data. This should be set only if parseDates is set to "true". Possible period values: fff - milliseconds, ss - seconds, mm - minutes, hh - hours, DD - days, MM - months, YYYY - years. It's also possible to supply a number for increments, i.e. "15mm" which will instruct the chart that your data is supplied in 15 minute increments.
minVerticalGap | Number | 35 | This property is used when calculating grid count (when autoGridCount is true). It specifies minimum cell height required for one span between grid lines.
offset | Number | 0 | The distance of the axis to the plot area, in pixels. Negative values can also be used.
parseDates | Boolean | false | In case your category axis values are Date objects, set this to true. In this case the chart will parse dates and will place your data points at irregular intervals. If you want dates to be parsed, but data points to be placed at equal intervals, set both parseDates and equalSpacing to true. Note: we recommend using JavaScript timestamps to specify date/time. If you are specifying dates as strings in your data, i.e. "2015-01-05", we strongly recommend setting dataDateFormat as well. Important: If this is set to `true`, the data points needs to come pre-ordered in ascending order. Data with incorrect order might result in visual and functional glitches on the chart.
position | String | bottom | Possible values are: "top", "bottom", "left", "right". If axis is vertical, default position is "left". If axis is horizontal, default position is "bottom".
showFirstLabel | Boolean | true | Whether to show first axis label or not. This works properly only on ValueAxis. With CategoryAxis it wont work 100%, it depends on the period, zooming, etc. There is no guaranteed way to force category axis to show or hide first label.
showLastLabel | Boolean | true | Whether to show last axis label or not. This works properly only on ValueAxis. With CategoryAxis it wont work 100%, it depends on the period, zooming, etc. There is no guaranteed way to force category axis to show or hide last label.
startOnAxis | Boolean | false | Specifies whether the graph should start on axis or not. In case you display columns, it is recommended to set this to false. If parseDates is set to true, startOnAxis will allways be false, unless equalSpacing is set to true.
tickLength | Number | 5 | Length of the tick marks.
tickPosition | String | middle | Position of a axis tick. Available settings: middle, start. Works only with non-date-based data.
title | String |  | Title of the axis.
titleBold | Boolean | true | Specifies if title should be bold or not.
titleColor | Color |  | Color of axis title. Will use text color of chart if not set any.
titleFontSize | Number |  | Font size of axis title. Will use font size of chart plus two pixels if not set any.
titleRotation | Number |  | Rotation of axis title. Useful if you want to make vertical axis title to be shown from top to down.
twoLineMode | Boolean | false | Works only when parseDates is set to true and equalSpacing is false. If you set it to true, at the position where bigger period changes, category axis will display date strings of bot small and big period, in two rows.
widthField | String |  | You can specify relative width for your columns using this field and produce Mekko chart using this new feature.

### Methods Hide inherited Show inherited

Name | Parameters | Returns | Description
--- | --- | --- | ---
addGuide(guide) | guide - instance of Guide |  | Adds guide to the axis.
categoryToCoordinate(category) | category - String | Number | returns coordinate of a category. Works only if parseDates is false. If parseDates is true, use dateToCoordinate method.
coordinateToDate(coordinate) | coordinate - Number | date - Date object | Returns Date of the coordinate, in case parseDates is set to true and equalSpacing is set to false.
dateToCoordinate(date) | date - Date object | Number | Returns coordinate of the date, in case parseDates is set to true. if parseDates is false, use categoryToCoordinate method.
removeGuide(guide) | guide - instance of Guide |  | Removes guide from the axis.
xToIndex(x) | x - coordinate | Number | Returns index of the category which is most close to specified coordinate.

### Events Hide inherited Show inherited

Name | Event object | Description
--- | --- | ---
clickGuide | {type: "clickGuide", guide:Guide, chart:AmRectangularChart} | Dispatched when user clicks on a guide.
clickItem | {type: "clickItem", value:value, serialDataItem:SerialDataItem, axis:AxisBase, target:label, chart:AmRectangularChart, event:MouseEvent} | Fired if user clicks on axis label.
rollOutGuide | {type: "rollOutGuide", guide:Guide, chart:AmRectangularChart} | Dispatched when user rolls-out of the guide.
rollOutItem | {type: "rollOutItem", value:value, serialDataItem:SerialDataItem, axis:AxisBase, target:label, chart:AmRectangularChart, event:MouseEvent} | Fired if user rolls-out of the axis label.
rollOutItem | {type: "rollOutItem", value:value, serialDataItem:SerialDataItem, axis:AxisBase, target:label, chart:AmRectangularChart, event:MouseEvent} | Fired if user rolls-out of the axis label.
rollOverGuide | {type: "rollOverGuide", guide:Guide, chart:AmRectangularChart} | Dispatched when user rolls-over some guide.
rollOverItem | {type: "rollOverItem", value:value, serialDataItem:SerialDataItem, axis:AxisBase, target:label, chart:AmRectangularChart, event:MouseEvent} | Fired if user rolls-over axis label.