[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, -180, 180, 30}];
Next create the sector chart data:
sData = RotateLeft[
Tooltip[Join[Differences[#1], {#2}], {Mean[#1], #2}] & @@@
Transpose[{Partition[bins, 2, 1], BinCounts[angles, {bins}]}],
FirstPosition[bins, 0] - 1]
> {{30, 1}, {30, 8}, {30, 0}, {30, 0}, {30, 2}, {30, 1}, {30, 0}, {30, 1}, {30, 0}, {30, 0}, {30, 1}, {30, 0}}
There 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, False},
SectorOrigin -> 0]
![Sector chart][1]
[1]: https://i.sstatic.net/Vy05D.png