Important version information!

You are browsing a class reference for deprecated Version 2 of the JavaScript Charts.

Documentation for other versions: amCharts 4 (current) or amCharts 3.

CategoryAxis

Inheritance: CategoryAxisAxisBase

CategoryAxis is the class which displays category axis for the Serial Chart. The chart can have only one category axis. If you do not add category axis to the Serial chart, it will be created automatically.

Properties Hide inherited

PropertyTypeDefaultDescription
autoGridCountBooleantrueSpecifies whether number of gridCount is specified automatically, acoarding to the axis size.
axisAlphaNumber1Axis opacity. Value range is 0 - 1.
axisColorString#000000Axis color.
axisThicknessNumber1Thickness of the axis.
boldPeriodBeginningBooleantrueWhen 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.
categoryFunctionFunctionspecifies 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.
centerLabelOnFullPeriodBooleantrueThis 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.
colorString Color of axis value labels. Will use chart's color if not set.
dashLengthNumber0Length of a dash. 0 means line is not dashed.
dateFormatsArray[{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.
equalSpacingBooleanfalseIn 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.
fillAlphaNumber0Fill opacity. Every second space between grid lines can be filled with color. Set fillAlpha to a value greater than 0 to see the fills.
fillColorString#FFFFFFFill color. Every second space between grid lines can be filled with color. Set fillAlpha to a value greater than 0 to see the fills.
fontSizeNumber Size of value labels text. Will use chart's fontSize if not set.
forceShowFieldStringField 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.
gridAlphaNumber0.2Opacity of grid lines.
gridColorString#000000Color of grid lines.
gridCountNumber5Number 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.
gridPositionStringmiddleSpecifies 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.
gridThicknessNumber1Thickness of grid lines.
guidesArray The array of guides belonging to this axis.
ignoreAxisWidthBooleanfalseIf autoMargins of a chart is set to true, but you want this axis not to be measured when calculating margin, set ignoreAxisWidth to true.
insideBooleanfalseSpecifies whether values should be placed inside or outside plot area.
labelFrequencyNumber1Frequency at which labels should be placed. Doesn't work for CategoryAxis if parseDates is set to true.
labelFunctionFunctionYou 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.
labelRotationNumber0Rotation angle of a label. Only horizontal axis' values can be rotated. If you set this for vertical axis, the setting will be ignored.
labelsEnabledBooleantrueSpecifies whether axis displays category axis' labels and value axis' values.
markPeriodChangeBooleantrueIf you set it to false, the start of longer periods won't use a different date format and won't be bold.
minPeriodStringDDSpecifies 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.
offsetNumber0The distance of the axis to the plot area, in pixels. Negative values can also be used.
parseDatesBooleanfalseIn 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.
positionString Possible values are: "top", "bottom", "left", "right". If axis is vertical, default position is "left". If axis is horizontal, default position is "bottom".
showFirstLabelBooleantrueWhether to show first axis label or not.
showLastLabelBooleantrueWhether to show last axis label or not.
startOnAxisBooleanfalseSpecifies 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.
tickLengthNumber5Length of the tick marks.
titleString Title of the axis.
titleBoldBooleantrueSpecifies if title should be bold or not.
titleColorString Color of axis title. Will use text color of chart if not set any.
titleFontSizeNumber Font size of axis title. Will use font size of chart plus two pixels if not set any.

Methods Hide inherited

NameParametersReturnsDescription
addGuide(guide)guide - instance of GuideAdds guide to the axis.
categoryToCoordinate(category)category - StringNumberreturns coordinate of a category. Works only if parseDates is false. If parseDates is true, use dateToCoordinate method.
coordinateToDate(coordinate)coordinate - Numberdate - Date objectReturns Date of the coordinate, in case parseDates is set to true and equalSpacing is set to false.
dateToCoordinate(date)date - Date objectNumberReturns coordinate of the date, in case parseDates is set to true. if parseDates is false, use categoryToCoordinate method.
removeGuide(guide)guide - instance of GuideRemoves guide from the axis.
xToIndex(x)x - coordinateNumberReturns index of the category which is most close to specified coordinate.

Events Hide inherited

CategoryAxis class does not have any events.