React ChartsRadial Column Series
react logo
Enterprise

A Radial Column Series, also called Circular Column, visualises data through rectangular columns arranged along a polar axis.

Simple Radial Column

To create a Radial Column Series, use the radial-column series type.

series: [
    { type: 'radial-column', angleKey: 'quarter', radiusKey: 'software', radiusName: 'Software' },
    { type: 'radial-column', angleKey: 'quarter', radiusKey: 'hardware', radiusName: 'Hardware' },
    { type: 'radial-column', angleKey: 'quarter', radiusKey: 'services', radiusName: 'Services' },
],

In this configuration:

  • angleKey is set to 'quarter', which is the shared category for the Angle Axis.
  • radiusKey specifies the numerical datasets, 'software', 'hardware' and 'services', for the Radius Axis.
  • radiusName labels each series, such as 'Software', 'Hardware' and 'Services'.

Stacked Radial Column

In a Stacked Radial Column chart, columns are vertically stacked within each category to represent a cumulative total, allowing analysis of both single data points and overall category totals.

To stack columns in a Radial Column Series, enable the stacked series property.

series: [
    { type: 'radial-column', angleKey: 'quarter', radiusKey: 'software', stacked: true },
    { type: 'radial-column', angleKey: 'quarter', radiusKey: 'hardware', stacked: true },
    { type: 'radial-column', angleKey: 'quarter', radiusKey: 'services', stacked: true },
],

Customisation

Inner Radius

The inner radius can be used to create a 'donut' effect.

This is changed via the innerRadiusRatio option on the Radius Number Axis.

axes: [
    { type: 'angle-category' },
    { type: 'radius-number' innerRadiusRatio: 0.2 },
],

Any value between 0 and 1 will set the inner radius as a proportion of the overall radius.

Category Padding

The following options are used to control the padding between different elements on the Angle Axis:

  • paddingInner: Gap between column groups, ranges from 0 (no gap) to 1 (maximum spacing).
  • groupPaddingInner: Spacing within a group, ranges from 0 (columns touching) to 1 (widest gap).
axes: [
    { type: 'angle-category', groupPaddingInner: 0.5, paddingInner: 0.5 },
    { type: 'radius-number', innerRadiusRatio: 0.2 },
],

Axis Label Orientation

To change Angle Axis Label orientation, use the label.orientation property with these options:

  • fixed: Labels have fixed orientation (default).
  • parallel: Labels align parallel to the axis.
  • perpendicular: Labels align perpendicular to the axis.

The following configuration changes the orientation of the Axis Labels to parallel :

axes: [
    {
        type: 'angle-category',
        label: {
            orientation: 'parallel',
        },
    },
    { type: 'radius-number' },
],

Radius Axis Position

Customise the Radius Axis Line position via positionAngle and Axis Label rotation using label.rotation:

axes: [
    { type: 'angle-category' },
    {
        type: 'radius-number',
        positionAngle: 90,
        label: {
            rotation: -90,
        },
    },
],

API Reference

Properties available on the AgRadialColumnSeriesOptions interface.

type*
Type'radial-column'
angleKey*
Typestring
radiusKey*
Typestring
columnWidthRatio
TypeRatio
maxColumnWidthRatio
TypeRatio
label
TypeAgChartLabelOptions
tooltip
TypeAgSeriesTooltip
formatter
TypeFunction
stroke
TypeCssColor
strokeWidth
TypePixelSize
strokeOpacity
TypeOpacity
lineDash
TypePixelSize[]
lineDashOffset
TypePixelSize
fill
TypeCssColor
fillOpacity
TypeOpacity
cursor
Typestring
highlightStyle
TypeAgSeriesHighlightStyle
nodeClickRange
TypeInteractionRange
showInLegend
Typeboolean
listeners
TypeAgSeriesListeners
normalizedTo
Typenumber
grouped
Typeboolean
stacked
Typeboolean
stackGroup
Typestring
id
Typestring
Defaultauto-generated value
data
TypeTDatum[]
visible
Typeboolean
angleName
Typestring
radiusName
Typestring

Properties available on the AgAngleCategoryAxisOptions interface.

type*
Type'angle-category'
tick
TypeAgAxisCategoryTickOptions
shape
TypeAgPolarAxisShape
startAngle
TypeDegree
endAngle
TypeDegree
crossLines
TypeAgAngleCrossLineOptions[]
groupPaddingInner
TypeRatio
paddingInner
TypeRatio
reverse
Typeboolean
line
TypeAgAxisLineOptions
gridLine
TypeAgAxisGridLineOptions
label
TypeAgAngleAxisLabelOptions

Properties available on the AgRadiusNumberAxisOptions interface.

type*
Type'radius-number'
nice
Typeboolean
min
Typenumber
max
Typenumber
positionAngle
TypeDegree
tick
TypeAgAxisNumberTickOptions
shape
TypeAgPolarAxisShape
title
TypeAgAxisCaptionOptions
crossLines
TypeAgRadiusCrossLineOptions[]
innerRadiusRatio
TypeRatio
reverse
Typeboolean
line
TypeAgAxisLineOptions
gridLine
TypeAgAxisGridLineOptions
label
TypeAgRadiusAxisLabelOptions