   if vars.labels.value
     first = offset Math.PI/2, maxRadius
     second = offset angle + Math.PI/2, maxRadius
-    labelWidth = (first.x - second.x)
+    labelHeight = (first.x - second.x) - vars.labels.padding * 2
     textStyle = {
       "fill": vars.x.ticks.font.color
       "font-family": vars.x.ticks.font.family.value


  labelData = []
  for l in labels
    a = (angle * labelIndex(l)) - Math.PI/2
    top = a < 0 or a > Math.PI
    righty = a < Math.PI/2
    ov = maxRadius
    ov += vars.labels.padding if vars.labels.value
    o = offset a, ov
    x = o.x
    y = o.y
    x -= labelWidth unless righty
    y -= labelHeight if top
    center = [0, Math.PI].indexOf(angle * labelIndex(l)) >= 0
    x -= labelWidth/2 if center
    labelData.push {
      "text": l,
      "x": x + vars.width.viz/2 + vars.margin.top,
      "y": y + vars.height.viz/2 + vars.margin.left,
      "align": if center then "center" else if righty then "left" else "right",
      "valign": if top then "bottom" else "top",
      "offset": o
    }

  text = vars.group.selectAll ".d3plus_radar_labels"
    .data (if vars.labels.value then labelData else []), (d) -> d.text

  labelStyle = (label) ->
    label
      .attr textStyle
      .attr "x", (l) -> l.x
      .attr "y", (l) -> l.y
      .each (l, i) ->
        textwrap().container d3.select(this)
          .height(labelHeight)
          .width(labelWidth)
          .align(l.align)
          .text(l.text)
          .padding(0)
          .valign(l.valign).draw()

  text.call labelStyle


      intervals = i
      break

  ringData = buckets([maxRadius/intervals, maxRadius], intervals - 1).reverse()
  ringData.shift() if ringData.length is intervals

  rings = vars.group.selectAll ".d3plus_radar_rings"
    .data ringData, (d, i) -> i
