code: function(json, onComplete) {
      if(this.busy) return;
      this.busy = true;
      
      var st = this.st,
          graph = st.graph,
          labels = json.label && $.splat(json.label),
          values = json.values,
          animate = this.config.animate,
          that = this;
      $.each(values, function(v) {
        var n = graph.getByName(v.label);
        if(n) {
          v.values = $.splat(v.values);
          var stringArray = n.getData('stringArray'),
              valArray = n.getData('valueArray');
          $.each(valArray, function(a, i) {
            a[0] = v.values[i];
            if(labels) stringArray[i] = labels[i];
          });
          n.setData('valueArray', valArray);
          var prev = n.getData('prev');
          if(prev) {
            var p = graph.getByName(prev);
            var valArray = p.getData('valueArray');
            $.each(valArray, function(a, i) {
              a[1] = v.values[i];
            });
            p.setData('valueArray', valArray);
          }
        }
      });
      this.normalizeDims();
      st.compute();
      st.select(st.root);
      if(animate) {
        st.fx.animate({
          modes: ['node-property:height:dimArray'],
          duration:1500,
          onComplete: function() {
            that.busy = false;
            onComplete && onComplete.onComplete();
          }
        });
      }
    }
docs: /*
  Method: updateJSON
  
  Use this method when updating values for the current JSON data. If the items specified by the JSON data already exist in the graph then their values will be updated.
  
  Parameters:
  
  json - (object) JSON data to be updated. The JSON format corresponds to the one described in <AreaChart.loadJSON>.
  onComplete - (object) A callback object to be called when the animation transition when updating the data end.
  
  Example:
  
  (start code js)
  areaChart.updateJSON(json, {
  onComplete: function() {
  alert('update complete!');
  }
  });
  (end code)