[Edited to correct the bin definition.]
You could use SectorChart. The trick is to ensure that your bin widths sum to 360° and that the first bin charted starts at zero.
Firstly, and borrowing shamelessly from @george2079's answer [and subsequent correction], define the bins:
bins = Table[a , {a, 0-180, 360180, 30}]; Next create the sector chart data:
sData = Transpose[RotateLeft[ Tooltip[Join[Differences[#1], {(-1)#2}], Subtract{Mean[#1], #2}] & @@@ Transpose[{Partition[bins, 2, 1], BinCounts[angles, {bins}]}], FirstPosition[bins, 0] - 1] {{30, 301}, {30, 608}, {30, 240}, {30, 240}, {30, 72}, {30, 61}, {30, 00}, {30, 01}, {30, 0}, {30, 0}, {30, 01}, {30, 0}}
ThenThere are several things going on here:
- We add a tooltip so that the each sector is labelled with the mid-point of the bin and the count,
- we calculate the width of each bin and
- we rotate the data such that the bin starting at zero is first in the list. Obviously this requires a bin edge at zero.
Finally chart it, adding axes, etc. and rotating the origin (thanks again @george2079):
SectorChart[sData, PolarGridLines -> Automatic, PolarTicks -> {Automatic, None}, PolarAxes -> True]{True, False}, SectorOrigin -> 0] 
