code: function () {
  		var chart = this,
  			options = chart.options,
  			callback = chart.callback;
  
  		// Check whether the chart is ready to render
  		if (!chart.isReadyToRender()) {
  			return;
  		}
  
  		// Create the container
  		chart.getContainer();
  
  		// Run an early event after the container and renderer are established
  		fireEvent(chart, 'init');
  
  		
  		chart.resetMargins();
  		chart.setChartSize();
  
  		// Set the common chart properties (mainly invert) from the given series
  		chart.propFromSeries();
  
  		// get axes
  		chart.getAxes();
  
  		// Initialize the series
  		each(options.series || [], function (serieOptions) {
  			chart.initSeries(serieOptions);
  		});
  
  		chart.linkSeries();
  
  		// Run an event after axes and series are initialized, but before render. At this stage,
  		// the series data is indexed and cached in the xData and yData arrays, so we can access
  		// those before rendering. Used in Highstock. 
  		fireEvent(chart, 'beforeRender'); 
  
  		// depends on inverted and on margins being set
  		chart.pointer = new Pointer(chart, options);
  
  		chart.render();
  
  		// add canvas
  		chart.renderer.draw();
  		// run callbacks
  		if (callback) {
  			callback.apply(chart, [chart]);
  		}
  		each(chart.callbacks, function (fn) {
  			fn.apply(chart, [chart]);
  		});
  		
  		
  		// If the chart was rendered outside the top container, put it back in
  		chart.cloneRenderTo(true);
  
  		fireEvent(chart, 'load');
  
  	}
docs: Prepare for first rendering after all data are loaded