code: function(datasetIndex, index) {
  		var me = this;
  		var chart = me.chart;
  		var meta = me.getMeta();
  		var scale = me._getValueScale();
  		var isHorizontal = scale.isHorizontal();
  		var datasets = chart.data.datasets;
  		var value = +scale.getRightValue(datasets[datasetIndex].data[index]);
  		var minBarLength = scale.options.minBarLength;
  		var stacked = scale.options.stacked;
  		var stack = meta.stack;
  		var start = 0;
  		var i, imeta, ivalue, base, head, size;
  
  		if (stacked || (stacked === undefined && stack !== undefined)) {
  			for (i = 0; i < datasetIndex; ++i) {
  				imeta = chart.getDatasetMeta(i);
  
  				if (imeta.bar &&
  					imeta.stack === stack &&
  					imeta.controller._getValueScaleId() === scale.id &&
  					chart.isDatasetVisible(i)) {
  
  					ivalue = +scale.getRightValue(datasets[i].data[index]);
  					if ((value < 0 && ivalue < 0) || (value >= 0 && ivalue > 0)) {
  						start += ivalue;
  					}
  				}
  			}
  		}
  
  		base = scale.getPixelForValue(start);
  		head = scale.getPixelForValue(start + value);
  		size = head - base;
  
  		if (minBarLength !== undefined && Math.abs(size) < minBarLength) {
  			size = minBarLength;
  			if (value >= 0 && !isHorizontal || value < 0 && isHorizontal) {
  				head = base - minBarLength;
  			} else {
  				head = base + minBarLength;
  			}
  		}
  
  		return {
  			size: size,
  			base: base,
  			head: head,
  			center: head + size / 2
  		};
  	}
docs: Note: pixel values are not clamped to the scale area.
  @private