Radar chart
A radar chart is a graphical method of displaying multivariate data in the form of a two-dimensional chart of three or more quantitative variables represented on axes starting from the same point. The relative position and angle of the axes is typically uninformative, but various heuristics, such as algorithms that plot data as the maximal total area, can be applied to sort the variables (axes) into relative positions that reveal distinct correlations, trade-offs, and a multitude of other comparative measures.[1]


The radar chart is also known as web chart, spider chart, spider graph, spider web chart, star chart,[2] star plot, cobweb chart, irregular polygon, polar chart, or Kiviat diagram.[3][4] It is equivalent to a parallel coordinates plot, with the axes arranged radially.
Overview
The radar chart is a chart and/or plot that consists of a sequence of equi-angular spokes, called radii, with each spoke representing one of the variables. The data length of a spoke is proportional to the magnitude of the variable for the data point relative to the maximum magnitude of the variable across all data points. A line is drawn connecting the data values for each spoke. This gives the plot a star-like appearance and the origin of one of the popular names for this plot. The star plot can be used to answer the following questions:[5]
- Which observations are most similar, i.e., are there clusters of observations? (Radar charts are used to examine the relative values for a single data point (e.g., point 3 is large for variables 2 and 4, small for variables 1, 3, 5, and 6) and to locate similar points or dissimilar points.)[5]
- Are there outliers?
Radar charts are a useful way to display multivariate observations with an arbitrary number of variables.[6] Each star represents a single observation. Typically, radar charts are generated in a multi-plot format with many stars on each page and each star representing one observation.[5] The star plot was first used by Georg von Mayr in 1877.[7][8] Radar charts differ from glyph plots in that all variables are used to construct the plotted star figure. There is no separation into foreground and background variables. Instead, the star-shaped figures are usually arranged in a rectangular array on the page. It is somewhat easier to see patterns in the data if the observations are arranged in some non-arbitrary order (if the variables are assigned to the rays of the star in some meaningful order).[9]
Applications
The main application of radar charts is to measure multivariable data being shared among similar groups, people, or objects. This means radar charts have an incredibly wide variety of uses in fields including athletics, performance metrics, life sciences, education, and business among many others.[10] These applications allow researchers to visualize data and help them compare, analyze, and effectively make decisions about datasets they are looking at based on the insights provided by the charted variables.[11]

Radar charts commonly used in sports to chart players' strengths and weaknesses.[12] This is done by calculating various statistics related to the player that can tracked along the central axis of the chart. Examples include a basket players shots made, rebounds, assists, etc., or the batting or pitching stats of a baseball player. This creates a centralized visualization of the strengths and weaknesses of a player, and if overlapped with the statistics of other players or league averages, can display where a player excels and where they could improve.[13] These insights into player strengths and weakness could prove crucial to player development as it allows coaches and trainers to adjust a player's training regiment to help improve on their weaknesses. The results of the radar chart can also be useful in situational play. If a batter is shown to hit poorly against left-handed pitching, then his team knows to limit his plate appearances against left-handed pitchers, while the opposing team may try to force a situation where the batter is forced to hit against the pitcher. When used for comparison, they can also illustrate how good an athlete is, such as by a hall of fame candidate to other hall of fame candidates.
Another application of radar charts is the control of quality improvement to display the performance metrics various objects including computer programs,[14] computers, phones, vehicles, and more. Computer programmer often use analytics to test the performance of their programs versus others. An example of this where radar charts may be useful is the performance analysis of various sorting algorithms. A programmer could gather up several different sorting algorithms such as selection, bubble, and quick, then analyze the performance of these algorithms by measuring their speed, memory usage, and power usage, then graph these on a radar chart to see how each sort performs under various sizes of data. Another performance application is measuring the performance of similar cars against each other. A consumer could look at variables such as the cars’ top speed, miles per gallon, horsepower, and torque. Then after using a radar chart to visualize the data, they could decide on what car is best for them based on the results.

One more major usage of radar charts is in life sciences. Radar charts can be used for wide away of related datasets such as strengths and weakness of drugs and other medications.[15] Using the example of two anti-depressants, a researcher can rank variables such as efficacy, side effects, cost, etc. on a scale of one to ten. They could then graph the results using a radar chart to see the spread of variables and find how the differ, such as one anti-depressant being cheaper and quicker acting, but not having great relief over time. Meanwhile, the other anti-depressant provides stronger relief and holds up better over time but is more expensive. Another life science application is in patient analysis. Radar charts can be used to graph the variables of life affecting a person's wellness, and then be analyzed to help them. A more specific example is in the case of athletes, who’s various wellness habits such as sleep, diet, and stress are monitored to make sure they stay in peak physical condition.[16] If any areas would be shown dipping, doctors and trainers could step in to assist the athlete and improve their wellness.
The radar chart is an incredibly useful and powerful tool for data visualization. The wide array of fields they can be applied to, and the multitude of ways they can used in those fields makes them a must learn aspect of data mining and data analytics. They are incredibly useful for the finding performance of different datasets related by the same multivariable set of data, and making decisions based the analysis of those data sets. Additionally, they have relatively easy to read designs that can change colors to help differentiate the objects being looked at, use relatively less space compared to other graphs, and overall have a smooth and presentable look to them. Radar charts have some drawbacks, such as trying to use them when the variables are measured on scales that are not close to each other, and they tend to work best with less than eight to ten variables and groups of three or fewer objects.[17] Despite these drawbacks, radar charts are one of the best tools in a data analytics tool bag for both professionals and enthusiast.
Software Implementation
Software can be used to generate Radar Charts in an efficient manner. Python (programming language) is one example. Within Python different libraries of code can be accessed with different functionalities. Plotly is a useful graphing library for Radar Charts in Python. Plotly supports multiple types of Radar Charts.
To create a basic Radar Chart using Plotly you will need to define a figure which consists of two lists of data, the radii and the corresponding magnitude values. Next Plotly requires you to update the figure's layout which includes aspects such as radial axis visibility and whether or not there is a legend to the graph. Once this is completed, all that is left to do is to call the show function on your figure object which will produce the Radar Chart.[18]
To create a multiple trace Radar Chart using Plotly the process is mostly the same as above with the basic Radar Chart but with one difference. Similiar to the steps above you first create a figure object, but now instead of immediately filling this figure with data you instead need to call the add_trace function for each trace you want to add. Within the add_trace function the Radar Chart's radii and magnitude values are inputted for their respective trace.[18]
Plotly is not the only library available to Python to produce a Radar Chart, and Python is not the only programming language they can be produced in. Plotly stands out as a great option for producing Radar Chart's because it is easy to use and flexible. The logic is simple to follow and well documented on their website which is referenced above. The option to add traces or to just use one make it flexible. Python is a good choice for programming with data analysis. New libraries are always being created to go with the plethora that already exist and the learning curve for the language is very low making it a good choice for even those with limited programming experience.
Code Example
# Example Radar Chart with Multiple Trace
# Required import statement to use the library
import plotly.graph_objects as go
# Define a figure
fig = go.figure()
# Call the add_trace function
fig.add_trace(go.Scatterpolar(
r = [<magnitude values>]
theta = <radii>
fill = 'toself'
name = '<trace name>'
))
# Repeat the last function call for each trace you want to add
fig.add_trace(go.Scatterpolar(
r = [<magnitude values>]
theta = <radii>
fill = 'toself'
name = '<trace name>'
))
# Update the figure's layout
fig.update_layout(
polar = dict(
radialaxis = dict (
visible = True,
),
),
)
# Display the Radar Chart
fig.show()
Usage

As mentioned previously the usage of radar charts is for a better visual analysis of two or more sets of data points. Often some usages of a radar chart are to show the attributes of things such as video game characters, sports players, and so on. Conversely, radar charts are also used widely in academic and research categories to allow visual analysis of data sets to then further explore more rigorously. We are able to see outliers, clusters (see also Cluster Analysis), and other trend analysis within the data that may otherwise be harder to interpret while visually viewing the data point set itself.[19] An example as shown in Figure 5 is one such usage of a radar chart. In this instance, we utilize the radar chart to visualize two genomic windows to NP's (see also Genome architecture mapping and Purine nucleoside phosphorylase) that they may or may not possess.[20] Our data set consists of fourteen numbers that represent the percentage of NP's that our genomic windows have seen. That is to say that the windows contain those NP sequences. The direct implementation for the result of this radar chart is as follows:
Python Code: # Create a list of names for the spokes of the chart, these our the NP’s as mentioned above
labels = ['Hist1', 'LAD', 'Vmn', 'RNAPII-S2P', 'RNAPII-S5P', 'RNAPII-S7P', 'Enhancer', 'H3K9me3', 'H3K20me3', 'H3K36me3', 'NANOG', 'pou5f1', 'sox2', 'CTCF-7BWU']
# Get how many spokes there will be on the chart, which is how many labels we have
N = len(labels)
# Call the main function to create the radar chart
theta = radar_factory(N, frame='polygon')
# Initialize our given data. This will be a list of numbers that will represent the points on the chart
case_data = [(7.27, 61.81, 49.09, 20.0, 45.45, 34.54, 25.454545454545453, 16.36, 29.09090909090909, 29.09, 20.0, 23.63, 18.18, 16.36), (10.52, 59.64, 49.12, 24.561, 49.12, 36.84, 21.05, 10.52, 24.56, 26.31, 19.29, 22.80, 21.052631578947366, 22.80)]
# Give the size of the chart
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(projection='radar'))
fig.subplots_adjust(top=0.85, bottom=0.05)
# The intervals of the rings within the radar chart
ax.set_rgrids([0,5,10,15,20,25,30,35,40,45,50,55,60, 65, 70])
# The title of the radar chart
title = 'Wiki Article Radar Chart Example'
ax.set_title(title, position=(0.5, 1.1), ha='center')
# Fill in the graph with from out data
for d in case_data:
line = ax.plot(theta, d)
ax.fill(theta, d, alpha=0.15)
# Set the names within the chart from our list of names
ax.set_varlabels(labels)
# Add legend to top-left plot
legend = plt.legend(['Community 1', 'Community 2'], loc=(0.9, .95), labelspacing=0.1, fontsize='small')
# Show graph
plt.show()
|
Note: The code implementation above is utilizing radar_factory’s radar chart implementation along with matplotlib and other packages. This is functional code that will work if you copy and paste the radar_factory implementation and the code as seen above.[21]
Within this usage of the radar chart our given data points were very close in proximity to each other. Due to this, we could have visually determined that the windows were close in value to each other. Thus in this representation, the importance comes from its visual aspect to show the data points in an easy and agreeable format as shown. Now previewing the radar chart itself we can visually determine that most of the values in relation to the NP were very close. That is to say that the values were usually within the one to five point difference mark. Now that we have determined that fact we could then further explore why that is the case and adjust our data sets to see some possible changes in outcomes as mentioned within the see also above.
Interpretation and Analysis
Any radar chart can be analyzed to gather insights that allow us to come to new conclusions. The main insights we can derive from analyzing a radar chart are the new relationships between the entities or groups with distinct traits.[22] The relationships that are found are what allow for new conclusions to be made when studying different groups and the traits shared between them. The radar chart can also be used for reinforcing something that is already believed to be true. For example, if we believe that two traits are inversely related, then plotting the traits of the groups in a radar chart can confirm or deny those beliefs. Another key insight we can gain from utilizing radar charts is performance information.[23] All the distinct features in the datasets we analyze have high and low information. Radar Charts are ideal for observing which features are scoring high or low between the groups. The shape can also tell how similar groups are. If the groups have a similar shape, then it can be said that those groups are more similar based on their traits. If the groups have a different shape, then it can be said that those groups are more dissimilar based on their traits. Overall, the underlying idea is using the radar chart information to make comparisons between the same metrics in different groups. An easy way to make these comparisons is to overlap the radar charts of the groups being observed.[24] Now, the radar chart in the Figure 6 below will be analyzed.

Example: Radar Chart Analysis

This specific radar chart was derived from three clusters of nuclear profiles in the Hist1 region of the human genome. To read more about the process used to gather the nuclear profiles being used for clustering, please reach genome architecture mapping. The traits being studied in this Radar Chart are on the outside of the circle of the figure above. There are three different shapes in the Radar Chart which correspond to the three different clusters. The first cluster is blue, the second cluster is red, and the last cluster is green. The individual radar charts have been provided in Figure 7,8, and 9 respectively. The values displayed are the average values of each trait in each cluster ranging from 0 -70%. The shapes of the cluster radar charts can provide a general idea of which clusters are similar and which clusters are dissimilar. Clusters two and three have similar shapes and have a very similar percentage of genomic windows that have the LAD trait. Cluster one has a much higher percentage of genomic windows with RNAPII-S5P and RNAPII- S7P compared to the other clusters. It is known that the Hist1 and LAD trait should have an inverse relationship. In the chart we can see that while C1 and C2 have an approximate 40% LAD trait percentage the LAD trait in C3 is lower with an approximate 31% LAD percentage. The C1 cluster has a higher Hist1 percentage than the other clusters. These observations show how using radar charts can be used to reinforce or deny beliefs one has about the data being studied. The initial thought on the relationship between Hist1 and LAD was reinforced by comparing the radar charts. Another insight we can derive is how all the clusters seem to have higher percentages of the RNAPII-S5P traits. All the clusters have this trait at a percentage over 50%. The cluster traits of H3K9me3 and h3k27me3 which are very low in each of the clusters. This information helps us identify the highest and lowest performing traits in the clusters.


Limitations
Radar charts are primarily suited for strikingly showing outliers and commonality, or when one chart is greater in every variable than another, and primarily used for ordinal measurements – where each variable corresponds to "better" in some respect, and all variables on the same scale.
Conversely, radar charts have been criticized as poorly suited for making trade-off decisions – when one chart is greater than another on some variables, but less on others.[25]
Further, it is hard to visually compare lengths of different spokes, because radial distances are hard to judge, though concentric circles help as grid lines. Instead, one may use a simple line graph, particularly for time series.[26]
Radar charts can distort data to some extent, especially when areas are filled in, because the area contained becomes proportional to the square of the linear measures. For example, in a chart with 5 variables that range from 1 to 100, the area contained by the polygon bounded by 5 points when all measures are 90, is more than 10% larger than the same for a chart with all values of 82.
Radar charts can also become hard to visually compare between different samples on the chart when their values are close as their lines or areas bleed into each other, as shown in Figure 5 below.
Artificial structure
Radar charts impose several structures on data, which are often artificial:
- Relatedness of neighbors – radar charts are often used when neighboring variables are unrelated, creating spurious connections.
- Cyclic structure – the first and last variables are placed next to each other.
- Length – variables are often most naturally ordinal: better or worse, though the degree of difference may be artificial.
- Area – area scales as the square of values, exaggerating the effect of large numbers. For example, 2, 2 takes up 4 times the area of 1, 1. This is a general issue with area graphs, and area is hard to judge – see "Cleveland's hierarchy".[27]
For example, the alternating data 9, 1, 9, 1, 9, 1 yields a spiking radar chart (which goes in and out), while reordering the data as 9, 9, 9, 1, 1, 1 instead yields two distinct wedges (sectors).
In some cases there is a natural structure, and radar charts can be well-suited. For example, for diagrams of data that vary over a 24-hour cycle, the hourly data is naturally related to its neighbor, and has a cyclic structure, so it can naturally be displayed as a radar chart.[26][28][29]
One set of guidelines on the use of radar charts (or rather the closely related "polar area graph") is:[29]
- you don't mind reading stacked areas instead of position along a common scale (see Cleveland's Hierarchy),
- the data set is truly cyclic, not linear, and
- there are two series to compare, one much smaller than the other
Data set size
Radar charts are helpful for small-to-moderate-sized multivariate data sets. Their primary weakness is that their effectiveness is limited to data sets with less than a few hundred points. After that, they tend to be overwhelming.[5]
Further, when using radar charts with multiple dimensions or samples, the radar chart may become cluttered and harder to interpret as the number of samples grows.
For example, take the batting stats table comparing MLB 2021 MVP Shohei Ohtani, vs the stats of the leagues average designated hitters and some Hall of Fame players. These stats represent the percentage of hits, home runs, strike outs, etc per at bat of a player. For more information on what each stat used in the table represents, you can refer to this reference by the MLB.[30] We will use this table below to create Radar charts comparing the 2021 MVP batting stats to the league averages for Designated Hitters and regular batters, in an attempt to visualize performance metrics and visually come to a conclusion that Shohei out preformed the average player. Next we will include additional samples into the Radar chart, using Hall of Fame players Jackie Robinson, Jim Thome, and Frank Thomas to compare Shohei to a few of the greatest batters of all time. This Radar chart not only can give us intuition of how Shohei compares to the top historical players, but will also serve a purpose in showing the limitations of having too many samples in a Radar chart.
Target | BA | OBP | SLG | OPS | HR% | SO% | BB% |
---|---|---|---|---|---|---|---|
MLB | 0.244 | 0.317 | 0.411 | 0.728 | 0.037 | 0.232 | 0.087 |
DH | 0.239 | 0.316 | 0.434 | 0.75 | 0.047 | 0.256 | 0.093 |
Shohei Ohtani | 0.257 | 0.372 | 0.592 | 0.965 | 0.086 | 0.296 | 0.15 |
Jackie Robinson | 0.313 | 0.41 | 0.477 | 0.887 | 0.0282 | 0.0582 | 0.151 |
Jim Thome | 0.276 | 0.402 | 0.554 | 0.956 | 0.072 | 0.302 | 0.207 |
Frank Thomas | 0.301 | 0.419 | 0.555 | 0.974 | 0.063 | 0.17 | 0.203 |
We can see in Figure 10 how a radar chart can be easily interpreted when the number of spokes and samples is relatively small. When we compare more samples in Figure 11, even without an area fill on the radar chart, it becomes apparent how difficult it can become to interpret or make trade-off decisions.


Example


The chart on the right[5] contains the star plots of 15 cars. The variable list for the sample star plot is:
- Price
- Mileage (MPG)
- 1978 Repair Record (1 = Worst, 5 = Best)
- 1977 Repair Record (1 = Worst, 5 = Best)
- Headroom
- Rear Seat Room
- Trunk Space
- Weight
- Length
We can look at these plots individually or we can use them to identify clusters of cars with similar features. For example, we can look at the star plot of the Cadillac Seville (the last one on the image) and see that it is one of the most expensive cars, gets below average (but not among the worst) gas mileage, has an average repair record, and has average-to-above-average roominess and size. We can then compare the Cadillac models (the last three plots) with the AMC models (the first three plots). This comparison shows distinct patterns. The AMC models tend to be inexpensive, have below average gas mileage, and are small in both height and weight and in roominess. The Cadillac models are expensive, have poor gas mileage, and are large in both size and roominess.[5]
Alternatives
Most simply, one may use a simple line graph, particularly for time series.[26]
For graphical qualitative comparison of 2-dimensional tabular data in several variables, a common alternative are Harvey balls, which are used extensively by Consumer Reports.[31] Comparison in Harvey balls (and radar charts) may be significantly aided by ordering the variables algorithmically to add order.[32]
An excellent way for visualising structures within multivariate data is offered by principal component analysis (PCA).
Another alternative is to use small, inline bar charts, which may be compared to sparklines.[32]
Although radar and polar charts are often described as the same chart types,[4] some sources make a difference between them and even consider the radar chart to be a polar chart's variation that does not display data in terms of polar coordinate.[33]
References
This article incorporates public domain material from the National Institute of Standards and Technology website https://www.nist.gov.
- Porter, Michael M; Niksiar, Pooya (2018). "Multidimensional mechanics: Performance mapping of natural biological systems using permutated radar charts". PLOS ONE. 13 (9): e0204309. Bibcode:2018PLoSO..1304309P. doi:10.1371/journal.pone.0204309. PMC 6161877. PMID 30265707.
- Nancy R. Tague (2005) The quality toolbox. page 437.
- Kolence, Kenneth W. (1973). "The Software Empiricist". ACM SIGMETRICS Performance Evaluation Review. 2 (2): 31–36. doi:10.1145/1113644.1113647. S2CID 18600391.
Dr. Philip J. Kiviat suggested at a recent NBS/ACM workshop on performance measurement that a circular graph, using radii as the variable axes might be a useful form. […] I recommend they be called "Kiviat Plots" or "Kiviat Graphs" to recognize his insight as to their importance.
- "Find Content Gaps Using Radar Charts". Content Strategy Workshops. March 3, 2015. Retrieved December 17, 2015.
- NIST/SEMATECH (2003). Star Plot in: e-Handbook of Statistical Methods. 6/01/2003 (Date created)
- Chambers, John, William Cleveland, Beat Kleiner, and Paul Tukey, (1983). Graphical Methods for Data Analysis. Wadsworth. pp. 158–162
- Mayr, Georg von (1877), Die Gesetzmäßigkeit im Gesellschaftsleben (in German), Munich: Oldenbourg, OL 23294909M, p.78. Linien-Diagramme im Kreise: Line charts in circles.
- Michael Friendly (2008). "Milestones in the history of thematic cartography, statistical graphics, and data visualization".
- Michael Friendly (1991). "Statistical Graphics for Multivariate Data". Paper presented at the SAS SUGI 16 Conference, Apr, 1991.
- Nowicki, Hannah and Merenstein, Carter. "Radar Chart CS 465: Information Visualization - Spring 2016". Middlebury College.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - Wondershare EdrawMax. "What is a Radar Chart? Explained with Examples". Wondershare EdrawMax.
- Spider Graphs: Charting Basketball Statistics
- Seeing Data. "Making sense of data visualizations". Seeing Data.
- Ron Basu (2004). Implementing Quality: A Practical Guide to Tools and Techniques. p.131.
- Model Systems Knowledge Translation Center. "Effective Use of Radar Charts" (PDF). Model Systems Knowledge Translation Center.
- John Maguire. "De-normalized Spider and Radar Graphs". Kitman Labs.
- Sowmya. "Why And When To Use A Spider And Radar Chart?". Pluscharts.
- https://plotly.com/python/radar-chart/
- What is a spider Chart?
- Genome Wide Characterization of Genome Organization in Mouse ES cells, Supplementary File: GSE64881_segmentation_at_30000bp.passqc.multibam.txt.gz
- radar_factory implementation
- "What is A Radar Chart with Examples | EdrawMax Online". www.edrawmax.com. Retrieved 2022-04-19.
- "Spider Chart Analysis | QuestionPro Help Document". www.questionpro.com. Retrieved 2022-04-19.
- "Radar Chart - A Complete Guide | FusionCharts". Fusioncharts.com. Retrieved 2022-04-19.
- You are NOT spider man, so why do you use radar charts?, by Chandoo, September 18th, 2008
- Peltier, Jon (2008-08-14). "Rock Around The Clock - Peltier Tech Blog". Peltiertech.com. Retrieved 2013-09-11.
- (Cleveland 1984) , summarized at http://processtrends.com/toc_data_visualization.htm Archived March 25, 2010, at the Wayback Machine
- "Charting around the clock The Excel Charts Blog". Excelcharts.com. 2008-08-15. Retrieved 2013-09-11.
- Clock This
- "Standard Stats". www.mlb.com. Retrieved 2022-04-26.
- "Qualitative Comparison". Support Analytics Blog. 11 December 2007. Archived from the original on 2012-04-08.
- "Information Ocean: Reorderable tables II: Bertin versus the Spiders". I-ocean.blogspot.com. 2008-09-24. Retrieved 2013-09-11.
- "Polar Charts (Report Builder and SSRS)". Microsoft Developer Network. Retrieved December 17, 2015.
External links
![]() |
Wikimedia Commons has media related to Radar charts. |