code: function(json) {
      var prefix = $.time(), 
          ch = [], 
          sb = this.sb,
          name = $.splat(json.label),
          nameLength = name.length,
          color = $.splat(json.color || this.colors),
          colorLength = color.length,
          config = this.config,
          gradient = !!config.type.split(":")[1],
          animate = config.animate,
          mono = nameLength == 1;
      
      for(var i=0, values=json.values, l=values.length; i<l; i++) {
        var val = values[i];
        var valArray = $.splat(val.values);
        ch.push({
          'id': prefix + val.label,
          'name': val.label,
          'data': {
            'value': valArray,
            '$valueArray': valArray,
            '$colorArray': mono? $.splat(color[i % colorLength]) : color,
            '$stringArray': name,
            '$gradient': gradient,
            '$config': config,
            '$angularWidth': $.reduce(valArray, function(x,y){return x+y;})
          },
          'children': []
        });
      }
      var root = {
        'id': prefix + '$root',
        'name': '',
        'data': {
          '$type': 'none',
          '$width': 1,
          '$height': 1
        },
        'children': ch
      };
      sb.loadJSON(root);
      
      this.normalizeDims();
      sb.refresh();
      if(animate) {
        sb.fx.animate({
          modes: ['node-property:dimArray'],
          duration:1500
        });
      }
    }
docs: /*
  Method: loadJSON
  
  Loads JSON data into the visualization.
  
  Parameters:
  
  json - The JSON data format. This format is described in <http://blog.thejit.org/2010/04/24/new-javascript-infovis-toolkit-visualizations/#json-data-format>.
  
  Example:
  (start code js)
  var pieChart = new $jit.PieChart(options);
  pieChart.loadJSON(json);
  (end code)