Radar charts, also known as spider charts or web charts, are useful for visualizing and comparing multiple quantitative variables. They are especially helpful for showing how different variables compare to one another relative to a common scale. Here are some of the reasons why you might choose to use a radar chart:
- Comparing multiple variables: If you want to compare several variables at once, a radar chart can be a good choice. Each variable is represented by a different line or series of points, making it easy to see how they relate to one another.
- Identifying patterns: Radar charts can be used to identify patterns in data. By looking at the shape of the chart, you can quickly see which variables are higher or lower relative to the others.
- Highlighting strengths and weaknesses: A radar chart can be used to highlight strengths and weaknesses in a dataset. For example, if one variable is consistently high across all categories, it may indicate an area of strength.
- Communicating with non-technical audiences: Radar charts are easy to understand and can be used to communicate complex information to non-technical audiences. The visual representation of data makes it easier to grasp than a table or spreadsheet.
- Exploring data: Finally, radar charts can be a useful tool for exploring data. By visualizing the data in this way, you may be able to identify relationships or trends that were not immediately apparent in a table or spreadsheet.
It is quite complicated to build a Radar chart in Tableau, however, knowing some trigonometry might help in this non trivial task!
I have create a template formulas that you can use to build your own Radar chart in tableau depending on the number of measures. Please note that the data has to be in a certain format for building a radar chart as well. Here is an example:
| Year | Measure | Value |
|---|---|---|
| 2012 | Bikes | 1200 |
| 2012 | Accessories | 150 |
| 2013 | Bikes | 2000 |
| 2013 | Accessories | 200 |
| 2014 | Bikes | 4000 |
| 2014 | Accessories | 600 |
This data seems suitable on the first glance, however for the Radar chart we do need normalized data. For how to make your data normalized refer refer to the following blog: https://www.thedataschool.com.au/veronika-varaksina/data-normalization-using-python-alteryx/
Calculation for 12 measures
Calculation for [Xaxis]
case [Dimension]
when “Member 1” then 0
when “Member 2” then [Value] *(1/2)
when “Member 3” then [Value] *(sqrt(3)/2)
when “Member 4” then [Value]
when “Member 5” then [Value] *(sqrt(3)/2)
when “Member 6” then [Value] *(1/2)
when “Member 7” then 0
when “Member 8” then [Value] *(-1/2)
when “Member 9” then [Value] *(-sqrt(3)/2)
when “Member 10” then [Value] *(-1)
when “Member 11” then [Value] *(-sqrt(3)/2)
when “Member 12” then [Value] *(-1/2)
end
Calculation for [Yaxis]
case [Dimension]
when “Member 1” then [Value]
when “Member 2” then [Value]*(sqrt(3)/2)
when “Member 3” then [Value]*(1/2)
when “Member 4” then 0
when “Member 5” then ([Value])*(-1/2)
when “Member 6” then [Value]*(-sqrt(3)/2)
when “Member 7” then [Value]*(-1)
when “Member 8” then [Value]*(-sqrt(3)/2)
when “Member 9” then [Value]*(-1/2)
when “Member 10” then 0
when “Member 11” then [Value]*(1/2)
when “Member 12” then [Value]*(sqrt(3)/2)
end
Calculation for 8 measures
Calculation for [Xaxis]
case [Dimension]
when “Member 1” then 0
when “Member 2” then [Value] *(sqrt(2)/2)
when “Member 3” then [Value]
when “Member 4” then [Value] *(sqrt(2)/2)
when “Member 5” then 0
when “Member 6” then [Value] *(-sqrt(2)/2)
when “Member 7” then [Value] *(-1)
when “Member 8” then [Value] *(-sqrt(2)/2)
end
Calculation for [Yaxis]
case [Dimension]
when “Member 1” then [Value]
when “Member 2” then [Value]*(sqrt(2)/2)
when “Member 3” then 0
when “Member 4” then [Value]*(-sqrt(2)/2)
when “Member 5” then [Value]*(-1)
when “Member 6” then [Value]*(-sqrt(2)/2)
when “Member 7” then 0
when “Member “8” then [Value]*(sqrt(2)/2)
end
Calculation for 6 measures
Calculation for [Xaxis]
case [Dimension]
when “Member 1” then [Value] *(1/2)
when “Member 2” then [Value]
when “Member 3” then [Value] *(1/2)
when “Member 4” then [Value] *(-1/2)
when “Member 5” then [Value] *(-1)
when “Member 6” then [Value] *(-1/2)
end
Calculation for [Yaxis]
case [Dimension]
when “Member 1” then [Value]*(sqrt(3)/2)
when “Member 2” then 0
when “Member 3” then [Value]*(-sqrt(3)/2)
when “Member 4” then [Value]*(-sqrt(3)/2)
when “Member 5” then 0
when “Member 6” then [Value]*(sqrt(3)/2)
end
After that, drop X calculation in the columns and Y calculation on the rows.
Add the measure column onto details. Change the type of the chart to polygon and using ctrl drag the measure onto the path.
Set your axis to fixed and there you go, it the data is all max values for every measure, your chart will look like this:
