domain: function()

in riff-raff/public/javascripts/rickshaw.js [2119:2163]


	domain: function() {

		var values = { xMin: [], xMax: [], y: [] };

		var stackedData = this.graph.stackedData || this.graph.stackData();
		var firstPoint = stackedData[0][0];

		var xMin = firstPoint.x;
		var xMax = firstPoint.x;

		var yMin = firstPoint.y + firstPoint.y0;
		var yMax = firstPoint.y + firstPoint.y0;

		stackedData.forEach( function(series) {

			series.forEach( function(d) {

				if (d.y == null) return;

				var y = d.y + d.y0;

				if (y < yMin) yMin = y;
				if (y > yMax) yMax = y;
			} );

			if (series[0].x < xMin) xMin = series[0].x;
			if (series[series.length - 1].x > xMax) xMax = series[series.length - 1].x;
		} );

		xMin -= (xMax - xMin) * this.padding.left;
		xMax += (xMax - xMin) * this.padding.right;

		yMin = this.graph.min === 'auto' ? yMin : this.graph.min || 0;
		yMax = this.graph.max === undefined ? yMax : this.graph.max;

		if (this.graph.min === 'auto' || yMin < 0) {
			yMin -= (yMax - yMin) * this.padding.bottom;
		}

		if (this.graph.max === undefined) {
			yMax += (yMax - yMin) * this.padding.top;
		}

		return { x: [xMin, xMax], y: [yMin, yMax] };
	},