▾
The historical monthly hurricane count by subbasin within the United States.
What is a radar chart?
Radar charts plot a single continuous field around the circumference in ascending order, connecting values the same way a line chart connects points along its x-axis, just wrapped into a circle — useful for cyclical or sequential data like year-over-year trends.
Data configurations
This section covers a few data configuration examples for radar charts, each configured using the radar chart model. See the radar chart model reference for the full list of available properties and methods.
With circular axis field
Radar charts with a number field (integer, double, etc.) on the circular axis plots points in ascending numeric order around the axis.
- Set the
circularAxisFieldproperty to"year"to specify the numeric field.
30 collapsed lines
<html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <title>Radar Chart</title> <style> html, body, arcgis-chart { height: 100%; margin: 0; } </style> <!-- Load the ArcGIS Maps SDK for JavaScript from CDN --> <script type="module" src="https://js.arcgis.com/5.2/"></script> </head>
<body> <arcgis-chart></arcgis-chart> <script type="module"> const { createModel } = await $arcgis.import("@arcgis/charts-components/model/shared/setup-utils.js"); const FeatureLayer = await $arcgis.import("@arcgis/core/layers/FeatureLayer.js"); const featureLayer = new FeatureLayer({ portalItem: { id: "0cc8050831a145289408f6dac8d4ad7b", }, }); const chartElement = document.querySelector("arcgis-chart"); const radarChartModel = await createModel({ layer: featureLayer, chartType: "radarChart" });
radarChartModel.circularAxisField = "year";10 collapsed lines
radarChartModel.titleText = "Historical Hurricane Count by Year"; radarChartModel.setAxisTitleText("Hurricane Count", 0); radarChartModel.setAxisTitleText("Year", 1);
chartElement.model = radarChartModel; chartElement.actionMode = "none"; </script> </body></html>With split by field
Radar charts with a split by field displays multiple lines to compare trends across different categories.
- Set the
circularAxisFieldproperty to"month"to specify the numeric field. - Set the
splitByFieldproperty to"SUBBASIN"to group the data by subbasin. - Set the
setAreaVisiblemethod to control the area visibility for each series. This can be useful if you want to emphasize overall magnitude/coverage rather than precise per axis values.
30 collapsed lines
<html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <title>Radar Chart</title> <style> html, body, arcgis-chart { height: 100%; margin: 0; } </style> <!-- Load the ArcGIS Maps SDK for JavaScript from CDN --> <script type="module" src="https://js.arcgis.com/5.2/"></script> </head>
<body> <arcgis-chart></arcgis-chart> <script type="module"> const { createModel } = await $arcgis.import("@arcgis/charts-components/model/shared/setup-utils.js"); const FeatureLayer = await $arcgis.import("@arcgis/core/layers/FeatureLayer.js"); const featureLayer = new FeatureLayer({ portalItem: { id: "0cc8050831a145289408f6dac8d4ad7b", }, }); const chartElement = document.querySelector("arcgis-chart"); const radarChartModel = await createModel({ layer: featureLayer, chartType: "radarChart" });
radarChartModel.circularAxisField = "month"; radarChartModel.splitByField = "SUBBASIN"; // Set the area visibility for each series in the radar chart radarChartModel.setAreaVisible(true, 0); radarChartModel.setAreaVisible(true, 1); radarChartModel.setAreaVisible(true, 2); radarChartModel.setAreaVisible(true, 3); radarChartModel.setAreaVisible(true, 4); radarChartModel.setAreaVisible(true, 5); radarChartModel.setAreaVisible(true, 6); radarChartModel.setAreaVisible(true, 7); radarChartModel.setAreaVisible(true, 8);11 collapsed lines
radarChartModel.titleText = "Historical Monthly Hurricane Count by Subbasin"; radarChartModel.setAxisTitleText("Hurricane Count", 0); radarChartModel.setAxisTitleText("Month", 1); radarChartModel.legendTitleText = "Subbasin";
chartElement.model = radarChartModel; chartElement.actionMode = "none"; </script> </body></html>