JavaScript/jQuery PolarChart - argumentAxis
Specifies argument axis properties for the PolarChart UI component.
For charting, the polar coordinate system is used to determine each point uniquely on a plane through two numbers, the argument and the value of the point. A circular and straight lines (the axis of arguments and the axis of values) are specified to define the coordinates. To define the argument axis, use the argumentAxis configuration object. To define the value axis, use the valueAxis configuration object. To set the properties of all axes to a common value, use the commonAxisSettings configuration object. This object exposes the properties that can be specified for all axes simultaneously. Note that the value specified for an axis individually (in the argumentAxis or valueAxis object) overrides the value specified in the commonAxisSettings object.
allowDecimals
Specifies whether to allow decimal values on the axis. When false, the axis contains integer values only.
argumentType
The type of the axis values is determined based on the type of the values specified in the corresponding data source field of the chart's series. If arguments are specified as numeric values in a series data source, the argument axis values will also be of the numeric type. The same logic is used when string or date-time arguments are specified in the data source.
In some scenarios, you may need the type of the arguments that are specified in the data source to be converted to another type. In this instance, specify the desired type for the axis values using the argumentType property.
Use the ChartDataType
enum to specify this property when the UI component is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: Numeric
, DateTime
, and String
.
axisDivisionFactor
Specifies the minimum distance between two neighboring major ticks in pixels. Applies only to the axes of the "continuous" and "logarithmic" types.
For axes displaying numbers, the distance between major ticks depends on two interconnected properties: axisDivisionFactor and tickInterval. Consider that you have specified both these properties. If the specified tick interval leads the pixel distance between two ticks to being less than the axisDivisionFactor value, this tick interval will be ignored.
Use the axisDivisionFactor property only if you need to set the distance between ticks not knowing the axis values. Otherwise, use the tickInterval property.
categories
Specifies the order of categories on an axis of the "discrete" type.
Arguments of the string
type on discrete axes maintain the order of objects in the data source. Arguments of the number
and date
types are sorted in ascending order regardless of their order within the data source. Specify the categories array to set the required order of arguments. In the following example, arguments are sorted alphabetically:
jQuery
$(function() { $('#polarChartContainer').dxPolarChart({ // ... dataSource: dataSource, argumentAxis: { categories: continentNames, argumentField: 'continent' } }); const dataSource = [ { continent: 'Asia', area: 43820000 }, { continent: 'Africa', area: 30370000 }, { continent: 'North America', area: 24490000 }, { continent: 'South America', area: 17840000 }, { continent: 'Antarctica', area: 13720000 }, { continent: 'Europe', area: 10180000 }, { continent: 'Australia', area: 9008500 } ]; const continentNames = [ 'Africa', 'Antarctica', 'Asia', 'Australia', 'Europe', 'North America', 'South America' ]; });
Angular
<dx-polar-chart ... [dataSource]="dataSource"> <dxo-argument-axis [categories]="continentNames" argumentField="continent"> </dxo-argument-axis> </dx-polar-chart>
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { dataSource = [ { continent: 'Asia', area: 43820000 }, { continent: 'Africa', area: 30370000 }, { continent: 'North America', area: 24490000 }, { continent: 'South America', area: 17840000 }, { continent: 'Antarctica', area: 13720000 }, { continent: 'Europe', area: 10180000 }, { continent: 'Australia', area: 9008500 } ]; continentNames = [ 'Africa', 'Antarctica', 'Asia', 'Australia', 'Europe', 'North America', 'South America' ]; }
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DxPolarChartModule } from 'devextreme-angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, DxPolarChartModule ], providers: [ ], bootstrap: [AppComponent] }) export class AppModule { }
Vue
<template> <DxPolarChart ... :data-source="dataSource"> <DxArgumentAxis :categories="continentNames" argument-field="continent" /> </DxPolarChart> </template> <script> import DxPolarChart, { DxArgumentAxis } from 'devextreme-vue/polar-chart'; export default { components: { DxPolarChart, DxArgumentAxis }, data() { return { dataSource: [ { continent: 'Asia', area: 43820000 }, { continent: 'Africa', area: 30370000 }, { continent: 'North America', area: 24490000 }, { continent: 'South America', area: 17840000 }, { continent: 'Antarctica', area: 13720000 }, { continent: 'Europe', area: 10180000 }, { continent: 'Australia', area: 9008500 } ], continentNames: [ 'Africa', 'Antarctica', 'Asia', 'Australia', 'Europe', 'North America', 'South America' ] }; } } </script>
React
import React from 'react'; import PolarChart, { ArgumentAxis } from 'devextreme-react/polar-chart'; const dataSource = [ { continent: 'Asia', area: 43820000 }, { continent: 'Africa', area: 30370000 }, { continent: 'North America', area: 24490000 }, { continent: 'South America', area: 17840000 }, { continent: 'Antarctica', area: 13720000 }, { continent: 'Europe', area: 10180000 }, { continent: 'Australia', area: 9008500 } ]; const continentNames = [ 'Africa', 'Antarctica', 'Asia', 'Australia', 'Europe', 'North America', 'South America' ]; class App extends React.Component { render() { return ( <PolarChart ... dataSource={dataSource}> <ArgumentAxis categories={continentNames} argumentField="continent" /> </PolarChart> ); } } export default App;
color
This property supports the following colors:
- Hexadecimal colors
- RGB colors
- RGBA colors
- Predefined/cross-browser color names
- Predefined SVG colors
- Paint server address
constantLines[]
A constant line is a straight line that can be used to display, for example, an asymptote of a graph. To display constant lines on a chart, assign an array of objects specifying the properties of each constant line to the constantLines field. It is necessary to set the value property within these objects. The other properties can be set if required.
You can customize the appearance of all the argument axis constant lines at once. For this purpose, use the argumentAxis.constantLineStyle configuration object. Note that the properties that are set within the argumentAxis.constantLine object override the corresponding properties that are set within the argumentAxis.constantLineStyle object.
constantLineStyle
Use this object to set the appearance properties for the constant lines of both the argument and value axes. For example, you can change the color, dash style and width of the line using corresponding properties or define the look of the labels using the label object.
To specify styles for the constant lines of the argument and value axis separately, use the constantLineStyle object within the argumentAxis or valueAxis configuration object correspondingly. Note that the properties that are set within these objects override the corresponding properties that are set within the commonAxisSettings.constantLineStyle object.
In addition, you can define the appearance of each constant line individually. For more information, refer to the argumentAxis.constantLines or valueAxis.constantLines object description.
discreteAxisDivisionMode
Specifies whether ticks/grid lines of a discrete axis are located between labels or cross the labels.
When a discrete axis is divided, its ticks/grid lines are located between labels by default. If this is not appropriate, use the discreteAxisDivisionMode property to set the required mode for positioning ticks and grid lines on a discrete axis.
Use the DiscreteAxisDivisionMode
enum to specify this property when the UI component is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: BetweenLabels
and CrossLabels
.
firstPointOnStartAngle
Specifies whether or not to display the first point at the angle specified by the startAngle property.
grid
An object defining the configuration properties for the grid lines of an axis in the PolarChart UI component.
Grid lines are the reference lines used to improve the readability of a chart's visual data. The grid object exposes the properties that allow you to specify visibility and appearance settings for axis grid lines. To learn more about axis grid lines and their properties, refer to the Grid topic.
hoverMode
The following values are accepted:
- none
Nothing happens when the argument axis is hovered over. - allArgumentPoints
The points that correspond to the argument that is currently hovered over are highlighted. To change the way the points are highlighted, set the properties within the series.point.hoverStyle object.
Use the ArgumentAxisHoverMode
enum to specify this property when the UI component is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: AllArgumentPoints
and None
.
inverted
When an axis is inverted, the maximum and minimum values are reversed. As a result, the axis values increase in a direction that is opposite to the initial direction. The chart series are also inverted.
label
Axis labels represent textual values for axis ticks, which are not visible by default. To specify custom settings for the argument axis labels, use the label configuration object. To set a common value for labels on all axes, use the commonAxisSettings.label configuration object. This object exposes the properties that can be specified for labels on all axes at once. Note that values specified for the argument axis individually (in the argumentAxis.label object) override values that are specified for all axes (in the commonAxisSettings.label object).
linearThreshold
Specifies a value used to calculate the range on a logarithmic axis within which the axis should be linear. Applies only if the data source contains negative values or zeroes.
Setting this property prevents generating an infinite number of small axis values. Set it to an integer value that designates a power of logarithmBase. The following code sample shows how different linearThreshold values affect the linear range when the logarithmBase is 10:
linearThreshold: -1 // [-0.1; 0.1] linearThreshold: -2 // [-0.01; 0.01] linearThreshold: -3 // [-0.001; 0.001]
logarithmBase
Specifies the value to be raised to a power when generating ticks for a logarithmic axis.
By default, ticks on a logarithmic axis are generated on a base of 10, i.e., 0.1, 1, 10, 100, 1000 etc. But you can specify a base you require using the logarithmBase property. For example, if you set this property to 5, the following ticks will be generated: 0.5, 5, 25, 125, 625, etc.
minorGrid
In addition to the major grid built on major ticks, the PolarChart UI component provides the minor grid that is built on minor ticks. The lines of the minor grid extend from the minor ticks throughout the entire chart's plot.
To specify the appearance of grid lines, use the properties of the minorGrid object. Declared within the commonAxisSettings object, the minorGrid object changes the appearance of value and argument axes simultaneously. To change the appearance of the value or argument axis individually, declare the minorGrid object in the argumentAxis or valueAxis object respectively. Settings specified individually override those that are set in the commonAxisSettings object.
To make the minor grid visible, set the visible property of the minorGrid object to true. Additionally, you can change the color, opacity and width of the grid lines using the corresponding properties.
minorTick
In addition to major ticks, the PolarChart UI component provides the capability to draw minor ticks. Minor ticks divide an axis segment that lies between two neighboring major ticks. To specify how to generate minor ticks, use the minorTickInterval or minorTickCount properties.
To configure the appearance of minor ticks, use the properties of the minorTick object. Declared within the commonAxisSettings object, the minorTick object sets properties for all minor ticks. To change the appearance of the minor ticks that belong to the argument or value axis individually, declare the minorTick object in the argumentAxis or valueAxis object respectively. Settings specified individually override those that are set in the commonAxisSettings object.
By default, minor ticks are hidden. To make them visible, assign true to the visible property of the minorTick object. Additionally, you can change the color, opacity and width of the minor ticks using the corresponding properties.
minorTickCount
minorTickInterval
To divide a lengthy chart axis into shorter segments, major and minor ticks are used. Major ticks are accompanied with axis labels. Between each pair of neighboring major ticks, several minor ticks reside. Minor ticks are required when major ticks are far from each other. To set a custom minor tick interval, use the minorTickInterval property. If this property is not set, minor ticks are arranged automatically.
In case your axis displays numbers, assign a numeric value to this property. If the axis displays dates, assign one of the predefined string values. To set the interval to several days, hours, etc., assign an object with the corresponding field specified (days, hours or another field). Note that this object must contain only one of the fields described in this section.
When using the UI component as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control, specify this property using the VizTimeInterval
enum. This enum accepts the same values, but they start with an upper-case letter, for example, 'day' becomes Day
.
originValue
Normally, PolarChart calculates the origin value of the argument axis automatically depending on the smallest argument of series points. In case you need to specify it explicitly, use the argumentAxis.originValue property.
period
This property makes sense when you have a continuous argument axis. By default, all the argument values in the data source fit one circle of the argument axis. You can use the period property to set the interval of argument values that fits one circle of the argument axis. For instance, the argument values from 5 to 10 can be displayed with a period set to 5 in two argument axis circles: from 0 to 5 and from 6 to 10.
startAngle
Specifies the angle in arc degrees to which the argument axis should be rotated. The positive values rotate the axis clockwise.
strips[]
Strips are the highlighted areas in a chart within the defined range of values (minimum and maximum) for an axis to which they belong. In general, strips are used to visually represent a range of values behind a series to trace whether the series points' values fall in or out of that range. For more details on strips, refer to the Strips topic.
To define strips for the argument axis, use the strips array. When a strip's startValue, endValue and color properties are specified, the strip is displayed in a chart. In addition, you can show a label with descriptive information on a strip. To set the text for a label, use the strip's label object.
If you need to set similar values for all strips of all axes, use the commonAxisSettings.stripStyle configuration object. It exposes the properties that can be specified for strips of all axes at once. Note that the values specified for the argument axis individually (in the argumentAxis.strips object) override the values that are specified for all axes (in the commonAxisSettings.stripStyle object).
stripStyle
An object defining configuration properties for strip style.
Strips are the highlighted areas of a chart within a defined range of values (maximum and minimum) for an axis to which they belong. In general, strips are used to visually represent a range of values behind a series, to trace whether the series point values fall in or out of that range. For more details on strips, refer to the Strips topic.
To set properties for configuring strip style, define the stripStyle object within the argumentAxis or valueAxis configuration object. To set common properties for all strips in a chart, define the stripStyle object within the commonAxisSettings configuration object. Note that the values that are set for an individual axis override the corresponding common values.
tick
An object defining the configuration properties for axis ticks.
Ticks divide an axis into equal sections by a step whose value is determined automatically, or by the tickInterval and axisDivisionFactor properties of an axis. Ticks improve the readability of charts, but are not visible in the PolarChart UI component by default. To set up tick configuration properties, define the tick object within the argumentAxis or valueAxis configuration object. To set common properties for all ticks in a chart, define the tick object within the commonAxisSettings configuration object. Note that the values that are set for an individual axis override the corresponding common values.
tickInterval
Use this property to divide the scale by ticks in a specified interval one from another. If this property is not set, ticks are automatically arranged so that their labels do not overlap each other.
In case of a numeric axis, assign a numeric value to this property.
If the axis is of the date-time type, assign one of the predefined string values or an object to this property. The object's fields specify the number of days, hours, etc.
When you use a logarithmic axis, ticks are generated on a base of powers. For example, assume that the logarithm base is 10. Then, if the tick interval is 1, ticks are generated at 0.01, 0.1, 1, 10, 100, 1000, 10000, etc. If the tick interval is 2, ticks are generated at 0.1, 10, 1000, etc.
To set the tickInterval property for several axes at once, use the commonAxisSettings configuration object. To set this property for an individual axis, use the argumentAxis or valueAxis configuration object.
When using the UI component as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control, specify this property using the VizTimeInterval
enum. This enum accepts the same values, but they start with an upper-case letter, for example, 'day' becomes Day
.
type
The 'discrete' type is set when string arguments are specified in the data source of the chart's series. The discrete axis is divided by the values (called categories) that are specified as arguments in the data source. The categories order can be specified by the categories property, if the order used in the data source is not appropriate.
The 'continuous' type is set when numeric or date-time arguments are specified in the series data source. The continuous axis is divided automatically.
The 'logarithmic' type can be set when numeric values are specified in the series data source. The logarithmic axis is useful when you visualize a dataset of rapidly-growing values. Each axis tick represents a particular value that is raised to the next power in turn. This particular value is specified by the logarithmBase property. For example, if you set this property to 5, the following ticks will be generated: 50, 51, 52, 53 etc.
On continuous and logarithmic axes, ticks and grid lines are generated automatically. In addition, you can set a custom tick interval (the tickInterval or axisDivisionFactor options).
Use the AxisScaleType
enum to specify this property when the UI component is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: Discrete
, Continuous
, and Logarithmic
.