## Polar Plots

Microsoft Excel offers a number of circular charts, but none of them is usually a particularly good choice for displaying data. You can search this blog for “pie chart” and see numerous examples of badly applied pie charts. If you hunt for “radar chart” or “spider chart” you’ll see a class of charts that’s even more deceptive. A major part of the deficiency of radar plots is that they pretend to show a physical, geographical relationship which isn’t present at all.

Polar Plots, on the other hand, can be used to map information that has a true geographical component. Ironically, this includes actual radar feedback. The data for a polar plot is given in polar coordinates, which is given as R-theta, where R is the distance from the origin (center of the plot) and theta is the angle from a reference angle, such as north or conversely the positive horizontal axis of overlaid cartesian coordinates.

A Polar Plot is not a native Excel chart type, but it can be built using a relatively simple combination of Donut and XY Scatter chart types. We need to build the grid using a donut chart, then overlay the physical data using applicable XY Scatter chart types.

## Preparing the Data

We’ll use a donut chart for the circular grid. The data we need is simple, as shown below. I have 9 columns for the 9 concentric donuts (the smallest donut hole is 10% of the diameter, so this hole plus 9 rings of 10% make 100%). Each ring has 12 segments, so each comprises 30° of the 360° circle of the chart.

Our data is provided in polar coordinates in columns A and B below, where R is the distance from the origin to the data point, and theta is the angle from our reference angle (due north) to the point. These are converted to X and Y in columns C and D. The formula in C2and D2 are:

```
C2: =A2*SIN(B2/180*PI())
D2: =A2*COS(B2/180*PI())
```

These are filled down to C14 and D14.

## Making the Chart

To create the grid, select the blue shaded cells in the top table, and insert a donut chart (below left). The default diameter of the donut hole is 75% of the diameter of the whole chart, so all of the rings are scrunched together. Select any of the donuts and press Ctrl+1 (numeral one) to open the Format Series dialog or task pane, and set Donut Hole Size to 10%, the smallest possible value (below right). While you’re at it, shrink the ridiculously large chart title, if you need it at all.

Format each donut series so it has no fill and uses a thin (0.75 point) light gray (25% gray) border (below left). Our grid is ready for real data.

Select the orange shaded range of XY values in the second table above, and copy. Select the chart, and click the Paste Special button on the Paste dropdown on the Home tab of the ribbon to add the data (below right). The data is added as another concentric donut on the outside of the chart.

Use the following settings in the Paste Special dialog: Add cells as New Series, Values in Columns, Series Names in First Row, and Categories in First Column.

Select the added ring of data, and choose Change Series Chart Type from the pop-up menu. Choose one of the XY types. Here I’ve selected the line and markers option (below left); if you were plotting the advance of alien spacecraft you’d probably want the markers only option.

Excel has plotted the XY data on secondary axes: the axis labels of both are plainly visible in the left chart below. Format each secondary axis scale in turn so the minimum and maximum are equal but with opposite signs; in this case min is -10 and max is +10. Format the axis so there are no tick marks and no tick labels, and use the same line style as the donut grid borders, 0.75 points thick and 25% gray (below right).

Remove the major vertical and horizontal gridlines (below left). Remove the unwanted legend entries; click once to select the legend, then once more to select the unwanted entry, then click Delete (below right). If there is only one series of XY points, you can probably dispense with the legend.

Expand the size of the plot area (below left), and format the series lines and markers if desired (bottom right).

This may be complete enough for you, but as always, there are embellishments available to the clever chartmonger.

## Modified Grid

You can change the grid if you like. If I use the following expanded data, the inner few donuts have only 4 arcs, each covering 90° of the ring. The next few have 12 arcs, as above, each covering 30°. The last few have 24 arcs, covering 15° each.

The resulting grid is shown without data below left, and with data below right.

You can show the central circle (donut hole) without the crosshairs if you format the secondary axes to use no line color instead of 25% gray.

## Compass Point Labels

Suppose this is an actual geographic representation and you want to label the points of the compass. Set up data as shown below left. Copy the green range, select the chart, and use Paste Special as above. This series is plotted using the same chart type as the previous paste series was converted to, XY scatter with lines and markers.

Add labels to the new series; the default Y values are used in the labels (below left). Remove the title and legend, or shrink the plot area to make room for the labels.

Change the label positions to Above (for the north label), Right (east), Below (south), and Left (west).

Change the labels as appropriate (below left). You can use one of these approaches:

- Select each label (click to select the series of labels, then click again to select the individual label), double click to edit the label’s text, and type the label you want.
- Select each label (click to select the series of labels, then click again to select the individual label), type an equals sign in the formula bar, and click on the cell containing the label you want. The formula bar will show the link, e.g., =WorksheetName!$F$2.
- Download and install Rob Bovey’s free Chart Labeler from http://appspro.com. This allows you to assign labels from a worksheet range to the points in a chart.
- If you’re using Excel 2013, you can format the labels to use Values from Cells, and select the range of cells containing your labels.

Finally, format the last data series so it uses no lines and no markers (below right).

Don Pistulka says

The only use I have ever found for radar charts is monthly seasonal patterns. I used a line chart and a heat map for the same numbers, but found the radar chart the easiest to understand. You can find the workbook at the link below:

http://pistulka.com/Excel_Shared/Seasonal.xlsx

Alex Kerin says

Hi Jon, these (and radial bar charts) are also pretty good for time period charts where the data has a cyclical nature – think maybe of temperature by week of year, or likelihood of a car crash by hour of day, especially where without them you may lose any nuances around the start and end of the series as they flow back around. If you create these, you often end up having to subtract or add pi/2 to get the 0 hour or month to be at the top, and sometimes even a -ve symbol so that the chart flows clockwise as expected. Hope all is good, Alex.

Jon Peltier says

Hi Alex –

Doing well, very busy and I still manage to write a new post once in a while.

The problem with radar charts, as I outlined in Radar Charts are Ineffective, is that data in radar charts is not measured parallel to a given axis, so it is hard to compare data points which are not immediately adjacent. In that example, it was not apparent in the radar chart that web site traffic had a bimodal distribution over the course of a day, but in a line chart it was obvious. In addition, a radar chart loses resolution for small values because everything is spaced so much more closely.

Glynn Hammond says

Hi Jon,

This is more of a generic comment. I really enjoy your site and have found a lot of the articles very useul in designing new graphs. However the index seems to have disappearred. If I had a few minutes spare I would wander down it and cherry pick an article to read. Yesterday I was trying to find something on stacked panel style graphs and could not find it.

Keep up the good work,

Regards,

Glynn

Jon Peltier says

Hi Glynn –

Thanks for the note. A couple months ago I changed hosting companies, and some pages may have gotten lost. Do you have the old link? Perhaps I can redirect you.

Alex Kerin says

Interesting point – yes. In the work that I do mostly (time punch data) the period and behavior around 55 minutes to 5 minutes past the hour is often the most important. I have found that using a bar chart or line with 0/59 in the middle works quite well, but using the radial bar works best for explaining it to an audience.

Bradley Stone says

Jon,

I have really gotten a lot out of your blog, but I especially want to thank you for this posting. I normally have to use MatLab for all of my RADAR charts, and I use a lot of them, as my work typically uses values that change depending on an angle. I am not sure why they are deemed “ineffective”, as they are really the best option for plotting angular data. (Maybe they aren’t very effective when used with cyclical data, but I would argue that other plot types would be more appropriate for those situations.)

Thank you for your contributions to Excel usefulness!

John says

Not working for me. Everything is fine until I try to paste the data. The special paste menu comes up, I fill it out as per your instructions, click ok and nothing. No extra ring, no data.

John-

John says

I got it. Weird. I had data with every other row a blank. I did a sort to eliminate the blanks and then copy and pasted the data for the Column A, B in the example. It pasted, but when I copied those values, no blank rows, it did not paste into the chart. Now I just copy and past with the blank rows and it works fine. Don’t understand it, but it works.

Thanks,

John-

Dennis Thompson says

Hi Jon, great tools here. I hope you still check this since it’s been a while since anyone has posted to this forum.

A few quick questions: Is there a way to change the reference point from top dead center to the very center of the chart? I’m guessing this would change the formula arithmetic? Any way to ascertain those numbers? (flip sin and cos?) I need to plot points from the center to X angle (whatever that number might be) at Y distance. I’m already bald so I don’t have anymore hair to pull out. Please let me know if you need more information.

Thanks!

Jon Peltier says

Dennis –

The system I’m using starts at the top point of the circle, or X=0, Y=1, and positive movement is clockwise. Do you want to start at the right edge (1,0) and move counter-clockwise, like the unit circle in trigonometry? Just switch the formulas so column C (X) has COS and column D (Y) has SIN.

Dennis Thompson says

Thank you very much for the response Mr. Peltier. Unfortunately my background isn’t in math, thus, I’m “self-learning” as I go. What I am trying to accomplish SHOULD be relatively simple, but that doesn’t seem to be the case.

I work in industrial balancing. We calibrate machines and instruments. When we do so, we spin a cylindrical rotor with two separate wheels as “planes” several times and we determine “heavy spots”. We generate a hand written report with all kinds of crazy numbers and plot our findings on a polar chart. We have to do this by hand and that makes no sense in this day and age.

I really wish I knew how to explain this more clearly, but since we spin a cylinder, dead zero has to be in the center of the graph, Theta has to be the angle from dead zero and R has to be the distance from dead zero. An X-Y Axis makes the most sense in this situation, but again, it’s circular, so what we have to give to our clients needs to be as such. And there’s that little law thing we have to abide by as well.

I’m actually somewhat proficient in excel, but this exceeds all my knowledge. I can scan and e-mail an example of the graph we have to plot if that would help. If that would be helpful and you have the time, please use the e-mail I used to send this board posting.

Gratefully, Dennis.

Bob Niels says

Hi, Jon. Great article, as I need to plot some electronic data that really could use a polar plot. Everything works up to the point of selecting the “Paste Special” dialog box; I only get a “Paste” box, with no options. I am using Microsoft Office Professional Plus 2013. Do you know of any compatibility problems with that version?

Thanks.

Bob

Jon Peltier says

Bob –

On the Home tab, the Paste button has a dropdown if you click the bottom part of the button. Paste Special is on the dropdown.

Bob Niels says

Thanks, Jon. Now that you’ve pointed that out, I see that was part of your original instructions. I missed it.

Francisco says

Hi John,

I really want to thank you for the excellent resource. I wanted to use this to plot a cash flow cycle to plot cash on hand against 1) a short fall threshold (a circle) 2 a normalized profit spiral showing growth.

Duplicating the logic here and filling in new numbers, I got each of the plots to work individually, but whenever I add a second or third set of data 1) the data skews to the right rather than being centered 2) the graph is compressing on the x axis (a pure circle looks like an egg.)

The exact same data plotted individually shows as expected. Do you have any suggestions?

Very glad to have discovered this site!

Jon Peltier says

Francisco –

You seem to be ignoring my warning about using polar plots for data that has no true geographical component. I’ve written about the deficiency of radar/polar plots for nominally cyclical data in Radar Charts are Ineffective and other posts.

Plotting on a horizontal line chart would be more cognitively effective, if “boring”. Your short fall threshold would be a horizontal line, and the normalized profit spiral would be a sloping line.

But if you insist, I have a suggestion. Make sure the hidden secondary axes for the XY data have reasonable and symmetric scales. This means the X and Y axes should have the same min and max, and the min should be the negative of the max.

Tom Cunningham says

Jon:

This worked (almost) really great; I needed to overlay two series of data with different angular spacing. But when I pasted in the actual data (just the first series to begin with), the polar grid disappeared. Only 1 little piece of Series 9 is visible near the center. Thanks for this post and any help that you can provide!

Tom Cunningham says

After I’d added the actual data, the polar grid disappeared except for a small segment of series 9. If this happens to you, by right-clicking on a series, and picking “Change Series Chart type”, you can re-assign Series 1-9 to the “Doughnut” Type and they should re-appear. I also had to reset the minimum for the donut hole to 10%, but I’m back in business. Excel 2103, Windows 10 pro.

Francisco Uribe says

Thank very much for the useful tutorial.

I have been able to replicate and understand it, due to the clean an clear instructions.

What I have not been able to properly do is to change from 12 to 7 spokes. I can change the background donut, but I cannot get the plot to properly translate and show the coordinates of the new set of seven points.

Any suggestions?

Jon Peltier says

Francisco –

Your donut chart data has to be smaller, like this:

Stuart says

Hi Jon,

Thanks for this, really glad that I found this site of yours as it turned out to be a lot easier than I imagined to draw this graph. I am plotting rainfall over 10 years ( so ten data series plotted on the graph, each of the 12 axes is a month, and the radius is the rainfall for the month). Can you think of a way to label the radius for me at all please? I have labelled the secondary vertical axis but half the values are negative which is clearly not what I want to portray!

Cheers

Stuart

Jon Peltier says

Stuart –

Two points.

1. Labeling the axes. You can use custom number formats.

To show zero and positive numbers, use a format like 0; or 0.00;

To show only positive numbers, use a format like 0;; or 0.00;;

2. While your data is cyclical in nature, it has no circular symmetry, so all of my criticisms of radar charts still hold. For one thing, if rainfall is uniform throughout the year, a line chart would show a horizontal line while a radar chart would show a circle or a regular polygon. It is much easier to see deviations from a horizontal line than deviations from a perfect circle or from a regular polygon (and deviations include offsetting the center of a circle or centroid of the polygon from the center of the chart). It is also much easier to compare nonadjacent months in a line chart than a circular chart, where nonadjacent months point in arbitrary non-parallel directions.

Stuart says

Thanks Jon, useful comments

Point 1 works a treat, thank you

Point 2 – the purpose of this exercise was both to learn how to draw a graph in this fashion (I have another use for this style which I think will be better) and to compare this version to a line graph I have already to see which displays better. I will stick with the line I think, but I’m pleased to have learned how to draw this style- thanks for your help.

Stuart

Andy says

I have managed to create the initial polar chart with my 23 sectors that I need – however, how do I then alter the ‘R’ column to reflect these 23 sectors?

Jon Peltier says

Andy –

That depends on what you are plotting. I was just making a closed circuit that approximated a circle, and my R values lay approximately on this circle.

Andy says

Hi Jon, I want to create an ‘equaliser’ type chart, so each of my 23 sectors increase from the centre out with a corresponding colour. Is this possible?

Jon Peltier says

Andy –

Can you link to a picture of what you want?

Andy says

something like this, so each sector can be increased/decreased dependent on data quantity.

Sorry to be a nuisance – I’m still learning!

Stuart says

I’ve got a polar chart that I’m pleased with, 100%, 90%, 80% doughnuts as instructed. I’ve removed the lines from the dougnuts so they can’t be seen, but would like concentric circles to mark the 50, and 100% points… any ideas please? If I put the 50% doughnut I get two rings, at 50% and 60%….I just want a single line at 50%.

Cheers

Stuart

Jon Peltier says

Andy –

What you want is a bit more involved. You will need two points per segment, one for when the segment should appear lit up, the other when it is unlit. I’ll demonstrate with a six-segment donut.

Here are the data table for six segments (twelve points) and the donut with six segments (twelve half segments). The data for each half segment is 0.5, but it will be adjusted to be 1 for true and 0 for false.

Here the two half segments for A are linked to the value of A in the table below. A is color coded blue, B orange, etc. All values are true. Note that the labels for the false points are centered on the zero-value points between 1-value blue wedges.

Here is the chart with the labels removed.

Here is the same chart, but with A and C false in the table and gray in the chart.

Constructing a multiple-ring donut is the same. The starting values for every half segment is 0.5, so it’s easy to format each half segment in the chart. Each ring has its own color for the “true” wedges in that ring.

The values in the half segment table are now linked to the true/false values below (and color coded). All values are true.

All A and F values are true, for a full scale equalizer display. The outer ring of B is false, the outer two of C are false, the outer three of D are false, and all rings of E are false.

The true-false table is now linked to a table of values for A through F.

Here the half segment table is directly linked to the table of values for A through F, bypassing the intermediate true/false table.

Jon Peltier says

Stuart –

Add an XY Scatter series with no markers and smoothed lines that has points at R=0.5. I’ve plotted a thick black line on top of the working plot from the example.

Stuart Patterson says

Thanks Jon,

Probably should have worked that one out for myself! Nevertheless, all seems to work fine, and thanks for your help – appreciated.

Stuart

Chad Allaire says

Hello Jon.

I’m working with rotating machinery and I need a chart that always shows 0 to be in the center of the polar chart. I can make the polar chart you described, but the 0 point always moves across the chart away from center as the data values change. How do I influence the data to flow outwards from the center of the chart and not horizontal across?

Thank you.

Chad

Jon Peltier says

Chad –

If you set your scatter chart axis min and max values (i.e., so they are not automatic), the 0,0 center of the scatter chart should remain in the center of the circular pattern.

Matthew Malanga says

Hello John, Thanks for the great tutorial. I have a x – y data from a CMM, where an ID profile was scanned giving my 1000 points. I’m struggling to see the profile and magnify the features using the Cartesian axes. Is there a way to magnify the scales so the profile is more exaggerated?

Matthew Malanga says

Hello John, Thanks for the great tutorial. I have a x – y data from a CMM, where an ID profile was scanned giving my 1000 points. I’m struggling to see the profile and magnify the features using the Cartesian axes. Is there a way to magnify the scales so the profile is more exaggerated?

Jon Peltier says

Matt –

I assume this isn’t related to a polar plot, otherwise I can’t envision what you need.

Did you try changing the axis scale? Double click the axis, and change the minimum and maximum values.

Matthew Malanga says

Jon,

The X-Y data is for a inner diameter profile scan and I was trying to recreate the X-Y plot the CMM gave me. I’ve tried adjusting the min and max scales, it just doesn’t give me the same resolution the CMM plot does.

It’s like I was +/- 20 micron resolution only in a specific range of the x and y axis.

Jon Peltier says

Oh, I understand. You want to exaggerate the roughness of the inner cylindrical surface. Adjusting the scales will not help. You need to change your data in one of two ways:

1. “Unroll” the data, so you plot R (radius) as Y and Theta (circumferential position) as X. Now just expand the Y (R) scale.

2. Transform R so instead of an absolute radial dimension, it rescales the variation in R. This could be something like

R’=k(R-Ravg)

or

R’=k(R/Ravg-1)+Ravg

where R’ is the new R to be plotted at each Theta, R is the measured radius at each Theta, Ravg is the average R, and k is some scaling factor.